Commit graph

42 commits

Author SHA1 Message Date
Dominik Riebeling
1801dcc999 rbutil: Fix native Windows build for tools.
- When make on Windows finds sh.exe it will try to use that. We use
  cmd.exe calls when detecting Windows, so make sure we use cmd.exe as
  shell.
- Add missing Windows compatibility to tomcrypt Makefile.

Change-Id: Iaef133ca27472a5ddf449174d540983f15c66aea
2020-10-21 21:33:39 +02:00
Dominik Riebeling
a05d061aa3 rbutil: Pass isysroot to rbutil libs on macOS.
On macOS we pass the full path to the compiler. On recent versions this
causes the compiler to not find its SDK path, this needs to get passed
via the isysroot option.

Change-Id: Iea2820e1755cc80e12691119dfa31d70938ea511
2020-10-18 19:16:27 +02:00
Dominik Riebeling
7603533f7f tools: Modernize rbspeex Makefile.
- Replace echo with make internal info function.
- Make dependency generation implicit to avoid another compiler call.
- Align object handling with libtools.make.

Change-Id: Iaaddd17af04039dcd8948399bc99d21def05181d
2020-10-18 19:07:08 +02:00
Dominik Riebeling
465eb727a3 Fix rebuilding librbspeex on OS X and make rm work on Windows.
OS X ar operates on fat libaries and cannot update existing archives. Remove it
first to avoid this.
Use a make function when removing files to allow calling the correct command on
Windows, which doesn't know about rm.

Change-Id: Ia0c13ef7907239a1e6f4abc26bb08238a226c476
2015-06-20 20:47:35 +02:00
Dominik Riebeling
258e4ad850 OS X: detect clang and build for x86 target only.
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
2014-03-20 22:26:24 +01:00
Dominik Riebeling
43d8d6fece Don't pass ar output to /dev/null.
Since ar is not running in verbose mode there is normally no output to get rid
of, and in case of errors it's useful to see them. Also, Windows doesn't know
about /dev/null.
Make dependency generation for librbspeex more silent as well.

Change-Id: Ie0d4a406e665ebd67331d6cd1fa2fc02f8bf21b9
2013-06-09 16:54:59 +02:00
Dominik Riebeling
4877f618d6 Rework rbspeex dependency generation to use single dependency files.
Similar as done in d2b8f91 change dependency generation to use one file per
source file. This removes the need to have external tools installed on Windows.
Previously Cygwin or msys tools needed to be in the system PATH which was
problematic at times.

This means that now building on Windows (using MinGW) doesn't require
additional tools anymore.

Change-Id: I4c0675e99c3cc3a729b91beefd58320db498ae0a
2013-05-11 20:34:12 +02:00
Dominik Riebeling
4f3fa9accb Change mkdir -p to work on Windows.
Windows mkdir doesn't know about the -p option and requires paths to use \ as
path separator. Try to detect when building on Windows and use the Windows
internal function instead of relying on a compatible mkdir in the path.

Change-Id: I47d47d45edeb38c672321f77d6e91268bf744dba
2013-05-11 20:34:12 +02:00
Dominik Riebeling
5c3e190e8a Remove leftover debugging warning.
Change-Id: Icb7d2de4284c1db5766f0039e5546b8956ef5afa
2013-05-06 23:27:28 +02:00
Dominik Riebeling
d964199cc7 Replace use of uname by checking the compiler output.
Similar as done in ea0bfe7 ask the compiler for the binary it creates instead
of using uname to figure the target.

Simplify source file preprocessing to avoid using grep to improve compatibility
with Windows.

Change-Id: I39ecfe690c9bb70b07b0af5a7804d7e5ab512d71
2013-05-04 21:41:50 +02:00
Sean Bartell
f40bfc9267 Add codecs to librbcodec.
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97
Reviewed-on: http://gerrit.rockbox.org/137
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
2012-04-25 22:13:20 +02:00
Dominik Riebeling
1ef25cd7e0 librbspeex.a: simplify Makefile for OS X.
- As done with the libucl Makefile replace the universal library handling and
  use ar to create a library from fat objects instead.
- Replace OUT with BUILD_DIR to be in line with the other Makefiles. As a
  result librbspeex will now be build in a subfolder better named than "build"
  when building with Rockbox Utility.
- Make the Makefile depend on the depencency file. This should fix problems
  with a broken dependency file not being regenerated properly, causing the
  build to fail.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31587 a1c6a512-1295-4272-9138-f99709370657
2012-01-05 22:26:04 +00:00
Dominik Riebeling
c5530d9258 Allow passing additional CFLAGS.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31524 a1c6a512-1295-4272-9138-f99709370657
2012-01-02 16:59:26 +00:00
Dominik Riebeling
719b95493e rbspeex: fix cross compiling rbspeex.dll.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31341 a1c6a512-1295-4272-9138-f99709370657
2011-12-17 09:57:28 +00:00
Dominik Riebeling
71c62c3e1b rbspeex, libucl: add rule to build DLL.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31332 a1c6a512-1295-4272-9138-f99709370657
2011-12-16 21:10:25 +00:00
Dominik Riebeling
488ee77ea2 Don't show the full path when building librbspeex.a
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31118 a1c6a512-1295-4272-9138-f99709370657
2011-12-03 13:58:42 +00:00
Dominik Riebeling
e1b1183f40 Tweak Makefiles a bit to allow cross compiling Rockbox Utility.
- pass AR to the lib Makefiles to make sure the correct one gets used.
- create an archive index for archives.
- simplify ucl Makefile a bit.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28883 a1c6a512-1295-4272-9138-f99709370657
2010-12-23 18:59:58 +00:00
Dominik Riebeling
d71d537b17 Don't search for libspeex on Windows and Mac.
Make sure to not try to dynamically link libspeex on Mac, since it's not a
standard library, and application bundles aren't statically linked anyway.
Remove looking up libspeex on Windows since it's not a standard library there
either. Don't search for libspeex multiple times but instead pass it to the
librbspeex Makefile.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27999 a1c6a512-1295-4272-9138-f99709370657
2010-09-05 10:27:39 +00:00
Dominik Riebeling
69a5ff7f8a Make lipo calls silent.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23982 a1c6a512-1295-4272-9138-f99709370657
2009-12-13 21:30:28 +00:00
Dominik Riebeling
e8bab4e3a0 Improve detection of system libspeex and fallback earlier.
libspeex is split into libspeex and libspeexdsp. We need both, so check
for them the same time instead of trying to respect the fact that old
versions didn't have the libspeexdsp part. Should fix issues with
distributions that have libspeex and libspeexdsp split into separate
packages and only the libspeex one is installed.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23872 a1c6a512-1295-4272-9138-f99709370657
2009-12-06 10:19:43 +00:00
Dominik Riebeling
f0d0ba86ff Fix building universal binaries.
When building various libraries for Rockbox Utility make sure they use the same compiler as Qt. Pass Qt's CC instead of explicitly setting it. This fixes issues linking on OS X (with recent XCode building universal binaries requires the use of gcc-4-0 while the default one is 4.2).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23779 a1c6a512-1295-4272-9138-f99709370657
2009-11-28 22:39:05 +00:00
Dominik Riebeling
bc748951b9 Fix building Rockbox Utility when using newer versions of libspeex.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23164 a1c6a512-1295-4272-9138-f99709370657
2009-10-13 20:53:25 +00:00
Dominik Riebeling
21a712cba1 If available, use the systems libspeex when linking rbspeex(enc|dec) and rbutil dynamically. This is similar to FS#9233 but utilizes pkg-config.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23016 a1c6a512-1295-4272-9138-f99709370657
2009-10-08 21:26:39 +00:00
Dominik Wenger
4d86861ce5 rbutil: modify buildsystem so you can build outside of the rbutilqt directoy. (similar to the normal buildsystem). Attention: Spaces in the path will cause errors.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22624 a1c6a512-1295-4272-9138-f99709370657
2009-09-04 21:31:17 +00:00
Dominik Riebeling
99ae7bcc43 Create the output directory in the dependency rule instead of depending on it to prevent recreating it every time. Thanks to amiconn for clarifying the issue.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21534 a1c6a512-1295-4272-9138-f99709370657
2009-06-27 21:49:23 +00:00
Dominik Riebeling
aff3380d99 Make sure the build folder is created before trying to generate the dependencies file. Fixes issues building Rockbox Utility and voice file creation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21527 a1c6a512-1295-4272-9138-f99709370657
2009-06-27 09:35:38 +00:00
Jens Arnold
9d2208e806 Don't rebuild rbspeex(enc|dec) everytime when making voice files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21265 a1c6a512-1295-4272-9138-f99709370657
2009-06-12 19:36:56 +00:00
Dominik Wenger
da207a2715 rename ARCH define because of conflict with some systems. see (FS#9321)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18379 a1c6a512-1295-4272-9138-f99709370657
2008-09-01 19:48:27 +00:00
Dominik Riebeling
fd61460c45 Extend rbspeex Makefile to allow easier building a universal binary needed for rbutil.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18103 a1c6a512-1295-4272-9138-f99709370657
2008-07-20 15:47:47 +00:00
Dominik Wenger
32dda1d293 rbspeex: hopefully fixes compiling of rbspeexenc/dec on mac.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18096 a1c6a512-1295-4272-9138-f99709370657
2008-07-19 21:11:21 +00:00
Dominik Wenger
c82511ab06 rbutil/rbspeex fix some small mistakes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18004 a1c6a512-1295-4272-9138-f99709370657
2008-07-09 21:56:41 +00:00
Dominik Wenger
b5177cf200 modify Makefile so its possible to build a universal lib. Building is still complicated.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18002 a1c6a512-1295-4272-9138-f99709370657
2008-07-09 21:39:45 +00:00
Dominik Riebeling
84644c3b93 when building on MinGW, make sure to set CC to gcc. Make ar call silent.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15935 a1c6a512-1295-4272-9138-f99709370657
2007-12-15 15:11:53 +00:00
Dominik Wenger
ed047d9db1 refactor rbspeex, so we build a librbspeex.a for linking into rbutil.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15924 a1c6a512-1295-4272-9138-f99709370657
2007-12-14 16:04:38 +00:00
Thom Johansen
df0df311dc Add rbspeexdec, decoder for the Rockbox voice clips. Also nitpick a bit on rbspeexenc while I'm at it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15842 a1c6a512-1295-4272-9138-f99709370657
2007-11-28 13:42:44 +00:00
Dave Chapman
ea929b1f8f Revert r15664 and instead define a HOSTAR variable in the main Makefile and pass it to tools/Makefile, the same way CC is handled.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15669 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 17:17:38 +00:00
Thom Johansen
7dc92d4d2e Make rbspeexenc Makefile use system "ar" tool.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15664 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 15:48:11 +00:00
Dave Chapman
a8993baeb4 Create a libspeex.a as part of the compilation process - the intention is that this can then be used by other tools (namely rbutilqt) to directly encode rockbox-compatible speex files. Also make the building slightly less verbose.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15654 a1c6a512-1295-4272-9138-f99709370657
2007-11-17 16:54:54 +00:00
Jens Arnold
6512224ead Build a standalone win32 executable of rbspeexenc on cygwin, for reuse in VoiceBox etc.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15649 a1c6a512-1295-4272-9138-f99709370657
2007-11-16 21:05:34 +00:00
Dave Chapman
56822cacdf Remove an unneeded -iquote (which caused problems with pre 4.0.0 versions of gcc) and replace a gcc with $(CC)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15644 a1c6a512-1295-4272-9138-f99709370657
2007-11-16 19:53:47 +00:00
Dave Chapman
f609424cb8 Fix the clean: rule and also set svn keywords
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15641 a1c6a512-1295-4272-9138-f99709370657
2007-11-16 15:58:38 +00:00
Thom Johansen
65458ee71c Speex encoder specially tailored to create voice UI snippets. Small fixups to libspeex to allow it to be built.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15640 a1c6a512-1295-4272-9138-f99709370657
2007-11-16 15:35:37 +00:00