<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rockbox/rbutil/libtools.make, branch wolf3d</title>
<subtitle>My Rockbox tree</subtitle>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/'/>
<entry>
<title>Fix linking with C++ files.</title>
<updated>2016-12-16T20:50:36+00:00</updated>
<author>
<name>Dominik Riebeling</name>
<email>Dominik.Riebeling@gmail.com</email>
</author>
<published>2016-12-16T20:50:36+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=3ee79724f6fb033d50e26ef37b33d3f8cedf0c5b'/>
<id>3ee79724f6fb033d50e26ef37b33d3f8cedf0c5b</id>
<content type='text'>
When linking with C++ files the linker also needs to link against the C++
libraries. This is done automatically when invoking the compiler upon linking.
Since we don't want C++ dependencies on C-only projects we check if we actually
have C++ files and use either the C or C++ compiler.

Rename CFLAGS since it's now used for both C and C++ compiler and add dedicated
CFLAGS, CXXFLAGS and LDFLAGS variables.

Change-Id: I9cc068a8038f21e8fd96b20173a8f790e6ab4b6e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When linking with C++ files the linker also needs to link against the C++
libraries. This is done automatically when invoking the compiler upon linking.
Since we don't want C++ dependencies on C-only projects we check if we actually
have C++ files and use either the C or C++ compiler.

Rename CFLAGS since it's now used for both C and C++ compiler and add dedicated
CFLAGS, CXXFLAGS and LDFLAGS variables.

Change-Id: I9cc068a8038f21e8fd96b20173a8f790e6ab4b6e
</pre>
</div>
</content>
</entry>
<entry>
<title>Support C++ in libtools.make and rewrite dependency handling.</title>
<updated>2016-12-16T18:46:08+00:00</updated>
<author>
<name>Dominik Riebeling</name>
<email>Dominik.Riebeling@gmail.com</email>
</author>
<published>2016-12-16T18:29:52+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=78cb7f0cf037a06ed64de747cb30b4122a9c24e7'/>
<id>78cb7f0cf037a06ed64de747cb30b4122a9c24e7</id>
<content type='text'>
- Change suffix of objects and depencency files to keep the original file
  suffix. This makes it easy to distinguish between C and C++ files when
  building and avoids implicit make rules trying to build in a way we don't
  want to.
- Implicitly handle dependencies instead of having an explicit rule. Simplifies
  things a bit.
- Support C++ files by adding an explicit rule for them. With keeping the
  original file suffixes this becomes quite simple.
  To use C++ files simply add them to SOURCES (or LIBSOURCES).

Change-Id: I22c56a6e153e281cfa675e91ad4a70fd18e2c43c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Change suffix of objects and depencency files to keep the original file
  suffix. This makes it easy to distinguish between C and C++ files when
  building and avoids implicit make rules trying to build in a way we don't
  want to.
- Implicitly handle dependencies instead of having an explicit rule. Simplifies
  things a bit.
- Support C++ files by adding an explicit rule for them. With keeping the
  original file suffixes this becomes quite simple.
  To use C++ files simply add them to SOURCES (or LIBSOURCES).

Change-Id: I22c56a6e153e281cfa675e91ad4a70fd18e2c43c
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't add LIBSOURCES to SOURCES.</title>
<updated>2016-12-16T18:46:07+00:00</updated>
<author>
<name>Dominik Riebeling</name>
<email>Dominik.Riebeling@gmail.com</email>
</author>
<published>2016-12-16T18:39:07+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=6f4beaa52c33737f8ffd9047af2d9fe2fb168a1e'/>
<id>6f4beaa52c33737f8ffd9047af2d9fe2fb168a1e</id>
<content type='text'>
Split source files for library and stand-alone binary and use library as
dependency when building the stand-alone binary. This avoids dependencies
getting added multiple times.

Remove outdated RBARCH handling, we always create fat binaries on OS X these
days.

Change-Id: Ia15a731296edcbe90869a1bf66dda2c3d6c7e317
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Split source files for library and stand-alone binary and use library as
dependency when building the stand-alone binary. This avoids dependencies
getting added multiple times.

Remove outdated RBARCH handling, we always create fat binaries on OS X these
days.

Change-Id: Ia15a731296edcbe90869a1bf66dda2c3d6c7e317
</pre>
</div>
</content>
</entry>
<entry>
<title>OS X: detect clang and build for x86 target only.</title>
<updated>2014-03-20T21:26:24+00:00</updated>
<author>
<name>Dominik Riebeling</name>
<email>Dominik.Riebeling@gmail.com</email>
</author>
<published>2014-03-20T21:22:17+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=258e4ad850097f334beb033031b62a1039e3575b'/>
<id>258e4ad850097f334beb033031b62a1039e3575b</id>
<content type='text'>
Newer versions of Xcode / OS X don't support PPC code anymore and replace gcc
with clang. When clang is detected assume we want to build for the default
architecture only and change the minimum OS X version to 10.5.

Change-Id: I5843fa9bb3d957ec6f0a537e857608ad99c31517
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Newer versions of Xcode / OS X don't support PPC code anymore and replace gcc
with clang. When clang is detected assume we want to build for the default
architecture only and change the minimum OS X version to 10.5.

Change-Id: I5843fa9bb3d957ec6f0a537e857608ad99c31517
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix rm function on Windows once more.</title>
<updated>2014-01-05T16:08:50+00:00</updated>
<author>
<name>Dominik Riebeling</name>
<email>Dominik.Riebeling@gmail.com</email>
</author>
<published>2014-01-05T16:08:50+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=17a1867c9ca8f22c5e2f2bb6b8228cad273527a9'/>
<id>17a1867c9ca8f22c5e2f2bb6b8228cad273527a9</id>
<content type='text'>
Windows del doesn't handle a non-existing folder gracefully, so check for
existence first.

Change-Id: I9c401f3f3a3e1e01b80d29e335256fbf3db22d35
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Windows del doesn't handle a non-existing folder gracefully, so check for
existence first.

Change-Id: I9c401f3f3a3e1e01b80d29e335256fbf3db22d35
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix rm function on Windows.</title>
<updated>2014-01-05T16:05:11+00:00</updated>
<author>
<name>Dominik Riebeling</name>
<email>Dominik.Riebeling@gmail.com</email>
</author>
<published>2014-01-05T16:05:11+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=82b30de20f63588350cf45f61d30ea9814fb2bd4'/>
<id>82b30de20f63588350cf45f61d30ea9814fb2bd4</id>
<content type='text'>
Windows del doesn't handle paths with / as separators, need to convert them
first.

Change-Id: Idb3efa96167aec5666517feabab67385ebd2db1a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Windows del doesn't handle paths with / as separators, need to convert them
first.

Change-Id: Idb3efa96167aec5666517feabab67385ebd2db1a
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix rebuilding of libs on OS X.</title>
<updated>2014-01-05T15:55:23+00:00</updated>
<author>
<name>Dominik Riebeling</name>
<email>Dominik.Riebeling@gmail.com</email>
</author>
<published>2014-01-05T15:53:17+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=f3a1a33b9f72a2aae2680251fcdbfdf27ee0a444'/>
<id>f3a1a33b9f72a2aae2680251fcdbfdf27ee0a444</id>
<content type='text'>
OS X ar operates on fat libaries. In this case updating the library isn't
possible and when those change ar will only return an error. Remove the output
file prior to running ar to work around this limitation.

Change-Id: I7ebc66efd092a8e6037ae86a3658afe6b4da777f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
OS X ar operates on fat libaries. In this case updating the library isn't
possible and when those change ar will only return an error. Remove the output
file prior to running ar to work around this limitation.

Change-Id: I7ebc66efd092a8e6037ae86a3658afe6b4da777f
</pre>
</div>
</content>
</entry>
<entry>
<title>Move LDOPTS to the end of the linker call.</title>
<updated>2013-11-12T21:51:59+00:00</updated>
<author>
<name>Dominik Riebeling</name>
<email>Dominik.Riebeling@gmail.com</email>
</author>
<published>2013-11-12T21:51:59+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=17a781d8b25c371b5a723f139b95380eefad85b1'/>
<id>17a781d8b25c371b5a723f139b95380eefad85b1</id>
<content type='text'>
Command line order is important with newer gcc versions. mkzenboot extends
LDOPTS but the linker would ignore that since no object using it has been
mentioned on the command line. Moving it to the end should fix this.

Change-Id: I081e86fa88f95dba6077a50f2b4315bf3a805ae5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Command line order is important with newer gcc versions. mkzenboot extends
LDOPTS but the linker would ignore that since no object using it has been
mentioned on the command line. Moving it to the end should fix this.

Change-Id: I081e86fa88f95dba6077a50f2b4315bf3a805ae5
</pre>
</div>
</content>
</entry>
<entry>
<title>Treat arch flags separately when building libraries.</title>
<updated>2013-06-09T17:43:37+00:00</updated>
<author>
<name>Dominik Riebeling</name>
<email>Dominik.Riebeling@gmail.com</email>
</author>
<published>2013-06-09T17:43:37+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=33bda05469feaabceef3075c22626de0c765f460'/>
<id>33bda05469feaabceef3075c22626de0c765f460</id>
<content type='text'>
On OS X we're passing -arch twice which dependency generation doesn't like.
Since we don't have dependencies that differ between architectures simply don't
add them during dependency generation.

Change-Id: Ie3d58bf9af31edcacb88345c7debf39eb798e302
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On OS X we're passing -arch twice which dependency generation doesn't like.
Since we don't have dependencies that differ between architectures simply don't
add them during dependency generation.

Change-Id: Ie3d58bf9af31edcacb88345c7debf39eb798e302
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement dependency generation in libtools.make.</title>
<updated>2013-05-11T18:34:12+00:00</updated>
<author>
<name>Dominik Riebeling</name>
<email>Dominik.Riebeling@gmail.com</email>
</author>
<published>2013-05-11T18:15:53+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=e073bc9484445a142522822088302c953bed9496'/>
<id>e073bc9484445a142522822088302c953bed9496</id>
<content type='text'>
Automatically generate dependency files for all sources so changes in headers
are picked up automatically. Use one dependency file for each source file,
since that allows to create them without using external tools (except the
compiler of course).

Change-Id: I246c1ceb525692547af22a2e32c4bab0c11507e1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Automatically generate dependency files for all sources so changes in headers
are picked up automatically. Use one dependency file for each source file,
since that allows to create them without using external tools (except the
compiler of course).

Change-Id: I246c1ceb525692547af22a2e32c4bab0c11507e1
</pre>
</div>
</content>
</entry>
</feed>
