Commit graph

163 commits

Author SHA1 Message Date
Dominik Riebeling
646f74937f Fix compiling with MSVC.
MSVC doesn't understand the gcc specific -Wno-unused-local-typedefs option.
Don't add it in this case.

Change-Id: I7ffb6c0c9c797eaad85975199c386020c464ca7b
2013-11-04 23:32:57 +01:00
Dominik Riebeling
2b054e6135 Fix cutelogger with MSVC.
We're compiling cutelogger directly, not as DLL. Therefore we must not add
__declspec attributes to the header.

Change-Id: I41b87fd4ba34dfbcd0d37245ff1c1f279139bb33
2013-11-04 23:32:57 +01:00
Dominik Riebeling
4d2ce949b3 Use cutelogger for Rockbox Utility internal trace.
Change tracing from qDebug() to use cutelogger, which is available under the
LGPL2.1. This allows to automatically add filename and line number to the log,
and also provides multiple log levels.

Change-Id: I5dbdaf902ba54ea99f07ae10a07467c52fdac910
2013-11-04 23:32:52 +01:00
Dominik Riebeling
11280e20cc Don't pass -Wno-unused-local-typedefs on OS X.
OS X' gcc 4.0 (still used to be able building fat binaries) doesn't ignore that
option and instead errors out.

Change-Id: Id5927ff04dc606480af9add554eeaa75c169510f
2013-06-09 19:45:16 +02:00
Dominik Riebeling
9edc63b0d4 Suppress unused-local-typedefs warning with Qt4.
gcc 4.8 introduces this new warning which some Qt4 headers triggers. Since we
don't want to change Qt simply disable it. The warning doesn't show up when
compiling with Qt5, so only disable it for Qt4.

Change-Id: Ia8fcf0859e0a370def36bc9b43ed4d096a80db28
2013-06-09 16:54:59 +02:00
Dominik Riebeling
7ab7f865dc Restructure options passed to libs Makefile.
Setup AR before checking for ccache to avoid adding ccache to ar. Setup CC and
CFLAGS in the beginning as well. Quote ar and system speex options to fix
building with ccache enabled.

Change-Id: I21714f0849e990abeac72dcda52c81474e090934
2013-05-10 12:02:18 +02:00
Dominik Riebeling
f7d8b2db93 Only pass AR to extralibs Makefile if the compiler is gcc.
We need this only for cross compiling. Trying to figure the compiler prefix
fails if the compiler isn't gcc (i.e. clang), and we only support gcc when
cross compiling.

Change-Id: I822e1b47ec7e9d7e9fdeae8ccf3b8d417a472ef9
2013-05-09 17:23:42 +02:00
Dominik Riebeling
8a1cd81b3a Move building libraries to separate Makefile.
Previously several additional rules were added by qmake to build the required
libraries. This has a couple of problems on Windows, requiring the use of a
msys shell.

Additional variables are passed as environment variables. Windows doesn't
understand this. Passing the variables via make command line argument works but
make won't be able to change those variables anymore, breaking things. Use
intermediate variables passed via make command line that are then exported by
the called Makefile. This doesn't work in the generated Makefile since the
export lines must not be part of a rule.

Also cleans up the project file a bit.

Change-Id: Iaffb059ce8bafe17a35bd1e0a74ae7acd966c138
2013-05-04 21:41:50 +02:00
Dominik Riebeling
891351db60 Fix Qt5 / MinGW problems.
Add missing multimedia module and update some includes.

Change-Id: I98c65c4f2e21e6a63d552669468b1da313520499
2013-04-04 22:42:22 +02:00
Dominik Riebeling
13c5c463d0 Update project file for Qt5 compatibility.
Qt5 splits widgets out of the QtGui to a new QtWidgets module.

Change-Id: I35c6437a2e69c25b90989611a683855dfe31da80
2013-01-27 20:11:17 +01:00
Dominik Riebeling
45e5b05574 Windows: always define UNICODE.
Change-Id: Id188cc03118d7dd769d838f8481e44ba31406dbf
2012-05-14 23:39:17 +02:00
Dominik Riebeling
8bdecac0b0 Don't assume the compiler to be gcc / g++.
When setting up qmake to use ccache keep using the compiler as defined in the
qmakespec instead of assuming it always to be gcc / g++.

Change-Id: I00ce32158ca4a5d67517347cae2e86b77051b3c9
2012-04-28 16:49:09 +02:00
Dominik Riebeling
f7fdf13468 Move manual tab contents to separate widget.
Create a new widget which holds the contents of the manual tab and its logic.
Unify its display / download code. Fixes FS#12587, which was caused by
duplicated code.

Change-Id: I5721d2a95ebeaf80481c1fd149eda22cf1328501
2012-02-14 21:10:54 +01:00
Dominik Riebeling
3e0f2b3e1c Use relative paths to quazip includes.
Shorten the include list a bit by using relative paths.

Change-Id: I91fa7b292179c9f8cd0c257ef9b8d26bca34963b
2012-01-29 22:55:18 +01:00
Dominik Riebeling
c6dcec4e0d Update OS X library building.
- As done with libucl and librbspeex, create universal libraries using ar
  instead of building twice and using lipo. This notably simplifies things.
- Allow overwriting the compiler via command line. This is required for
  building on OS X.
- Update Rockbox Utility to the changed library rules. Fixes building which was
  broken by the previous Makefile changes.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31588 a1c6a512-1295-4272-9138-f99709370657
2012-01-05 22:26:08 +00:00
Dominik Riebeling
61f999a16e Rockbox Utility: add support for mkimxboot bootloader.
Reworked version of FS#12402 by Jean-Louis Biasini.

Since the mkimxboot process takes quite a while which blocks the UI it has been
adjusted to perform the actual firmware patching in a separate process. Various
other small changes have been made to make it fit better into Rockbox Utility's
dialogs / messages and update the code to latest changes.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31580 a1c6a512-1295-4272-9138-f99709370657
2012-01-04 19:19:02 +00:00
Dominik Riebeling
97ac4c0e34 Rockbox Utility: update building libs.
- Build libs in a libs/ folder below the build folder. This makes it easier to
  remove them when cleaning the build directory.
- Pass flags via environment instead as parameters to make. Hopefully fixes
  problems when using QtCreator on Windows.
- Respect silent config option when calling the lib Makefiles.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31525 a1c6a512-1295-4272-9138-f99709370657
2012-01-02 16:59:29 +00:00
Dominik Riebeling
13b2f53813 Rename libchinachip to libchinachippatcher.
Use the same name for output file / library and folder to simplify
dependencies.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31334 a1c6a512-1295-4272-9138-f99709370657
2011-12-16 21:34:48 +00:00
Dominik Riebeling
8be58fd8ec Rockbox Utility: use libsansapatcher.
Instead of building sansapatcher sources directly build and use the library.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31329 a1c6a512-1295-4272-9138-f99709370657
2011-12-16 20:10:36 +00:00
Dominik Riebeling
d992536285 Rockbox Utility: use libipodpatcher.
Instead of building the sources directly build and link libipodpatcher.a as
done for other tools.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31326 a1c6a512-1295-4272-9138-f99709370657
2011-12-16 19:34:18 +00:00
Dominik Riebeling
911a355d76 Pass version when building libmktccboot for Rockbox Utility.
On OS X if no version is passed a string containing a space gets generated in
some situation, which will break building. Explicitly set version to some known
string as done for other libs.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31262 a1c6a512-1295-4272-9138-f99709370657
2011-12-14 22:24:41 +00:00
Dominik Riebeling
0d4af186c7 Rockbox Utility: pass BUILD_DIR to libs Makefiles.
Pass a subdirectory of the build folder as BUILD_DIR to the called Makefiles.
Not all do respect the value yet.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31260 a1c6a512-1295-4272-9138-f99709370657
2011-12-14 22:00:23 +00:00
Dominik Riebeling
16f48e8ebc Rockbox Utility: disable some pointless warnings when building with VS.
Visual Studio warns about the usage of some standard library functions (like
sprintf) as part of the SDL. Since we won't change using this functions for at
least portability reasons we really don't need to know about them.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31170 a1c6a512-1295-4272-9138-f99709370657
2011-12-07 20:13:14 +00:00
Dominik Riebeling
7de4f64bb6 Rockbox Utility: build chinachippatcher as library.
Update the chinachip Makefile based on the mkamsboot one, build and link as
library for Rockbox Utility.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31117 a1c6a512-1295-4272-9138-f99709370657
2011-12-03 09:44:21 +00:00
Dominik Riebeling
fd5f16c070 Consolidate libraries list in project file a bit.
Instead of having to mention each library several times (extra targets, target
dependencies, linker flags) create a list of libraries we build directly and
create all other lists from them. Note that libraries get processed in the
order of the list, which is important for linking order. As a result libucl
needs to come last.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31116 a1c6a512-1295-4272-9138-f99709370657
2011-12-03 09:41:48 +00:00
Dominik Riebeling
834f18b6c7 Rockbox Utility: allow building for 32bit on 64bit Linux.
When building the linked libraries pass the machine flag as well. For now add
them to the compiler variable directly, should go via CFLAGS later.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30868 a1c6a512-1295-4272-9138-f99709370657
2011-10-30 15:54:39 +00:00
Dominik Riebeling
c7c657ca92 Prevent unnecessary rebuilding of libs.
- When building for Rockbox Utility the called Makefiles would rebuild the libs
  every time. Change dependencies a bit to allow make to properly detect if the
  lib is already up to date.
- Remove dependency on output folder in some cases to avoid unnecessary
  rebuilds.
- Add standard Rockbox header to files lacking it.
- Make make calls from qmake silent.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30608 a1c6a512-1295-4272-9138-f99709370657
2011-09-26 20:51:23 +00:00
Dominik Riebeling
55f4bf9dfd Rockbox Utility: use libusb-1.0 by default.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30275 a1c6a512-1295-4272-9138-f99709370657
2011-08-09 22:00:10 +00:00
Dominik Riebeling
99408dd45e Add custom delegate for showing the mountpoint combo box entries.
The delegate will be used for the dropdown list and show both mountpoint (left
aligned) and label / size information (right aligned). This improves
readability compared to the previous implementation. Also, the mountpoint
itself is now the text of the combo box and the additional information is in
the Qt::UserRole to avoid having to handle a user entered mountpoint separately
(since previously the mountpoint was stored in Qt::UserRole, but an edited item
would have the value in Qt::TextRole).

Disable editing the combo box entry for release builds, it shouldn't be needed
by users.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30144 a1c6a512-1295-4272-9138-f99709370657
2011-07-16 22:08:03 +00:00
Dominik Riebeling
8c1d114dcf Rockbox Utility: Replace OSDaB Zip with QuaZip.
This change fixes problems with zip files created with newer zip utilities (a
known issue is the iLike theme). QuaZip also allows better feedback during
operations without changing the imported code. Additionally Rockbox Utility and
the Theme Editor are now both using QuaZip; currently Rockbox Utility uses a
copy of the sources, merging them later is planned.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29645 a1c6a512-1295-4272-9138-f99709370657
2011-03-25 22:16:12 +00:00
Dominik Riebeling
9946def79d Don't link libz explicitly on Windows.
On Windows Qt already includes libz. Since the Qt SDK comes without a separate
libz linking it explicitly fails. Also, if libz is installed via MinGW linking
it explicitly will clash with the libz functions in Qt.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29512 a1c6a512-1295-4272-9138-f99709370657
2011-03-03 19:31:26 +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
7f6c271bad Set APPVERSION for libmkamsboot and libmkmpioboot.
This avoids an ugly "file not found" error for version.sh when building with
deploy.py since the latter doesn't retrieve version.sh. Doing so would be
pointless since the export doesn't know about the version, and the svn version
string isn't used when building with Rockbox Utility.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28882 a1c6a512-1295-4272-9138-f99709370657
2010-12-23 18:59:41 +00:00
Dominik Riebeling
271441eb9d MinGW: prefer C99 compliance by using replacement implementations.
This addresses several warnings caused by format modifiers that are not
supported by MSVCRT. MinGW provides replacement functions since mingw-runtime
3.15 so use them. See also
http://article.gmane.org/gmane.comp.gnu.mingw.user/27539/



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28735 a1c6a512-1295-4272-9138-f99709370657
2010-12-05 15:24:10 +00:00
Dominik Riebeling
770505a49a Link libstdc++ and libgcc statically.
Since the current MinGW version behaves differently here explicitly link
libstdc++ and libgcc statically. Avoids dependency to those DLLs.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28152 a1c6a512-1295-4272-9138-f99709370657
2010-09-23 17:53:53 +00:00
Dominik Riebeling
cb20579dcc Escape Backslash and improve version check.
Since Qt 4.7 unescaped backslashes are deprecated so escape it. Change
the order of the version check message to make sure it gets displayed.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28149 a1c6a512-1295-4272-9138-f99709370657
2010-09-23 16:42:01 +00:00
Dominik Riebeling
40a6aef0c3 Implement USB VID / PID retrieval using IOKit on OS X.
Instead of using libusb as wrapper query the USB IDs via IOKit. Since libusb is
only used for that this means that it's no longer necessary on OS X.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28001 a1c6a512-1295-4272-9138-f99709370657
2010-09-05 18:19:23 +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
81bce3b5b3 Add -config intel option to allow building for Intel targets only on Mac.
This doesn't change building of the used libraries, so librbspeex etc. are
still built as universal libraries. Building for Intel also targets 10.5 and up
instead of 10.4 and up which is targeted by default. Addresses FS#10938.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27997 a1c6a512-1295-4272-9138-f99709370657
2010-09-05 09:44:49 +00:00
Dominik Riebeling
4b321649a8 Rockbox Utility: Explicitly link zlib.
zlib is required by the zip class. Explicitly link it instead of relying it to
get implicitly linked via Qt. Fixes link errors on distributions with implicit
linking disabled. Don't do this on Windows as things are different here.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27251 a1c6a512-1295-4272-9138-f99709370657
2010-07-02 23:49:26 +00:00
Dominik Wenger
fab86a6a4c rbutil: add mpio hd200 as disabled target (all untested)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26561 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 21:43:15 +00:00
Dominik Riebeling
1cc1f4ee77 System Info: display OS X version number and architecture too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25442 a1c6a512-1295-4272-9138-f99709370657
2010-04-02 21:32:51 +00:00
Dominik Riebeling
b470303311 Implement system proxy values retrieval on OS X.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25439 a1c6a512-1295-4272-9138-f99709370657
2010-04-02 19:22:32 +00:00
Dominik Riebeling
17f5637918 Rockbox Utility requires Qt 4.5 since a while; correct check in project file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25280 a1c6a512-1295-4272-9138-f99709370657
2010-03-21 20:55:55 +00:00
Dominik Riebeling
bc8b9da4d0 Split source files out of project file.
Move the source files out of the project file into a project include, and
resort it a bit.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25278 a1c6a512-1295-4272-9138-f99709370657
2010-03-21 18:15:17 +00:00
Dominik Riebeling
c8752b428d Rearrange libraries linking order to work with --as-needed linker option.
If the linker uses the --as-needed option linking failed due to the order of
the libraries on the command line. Arch Linux seems to default to this option,
and the Gentoo documentation mentiones it as experimental feature.  Changing
the library order fixes the link issue.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25124 a1c6a512-1295-4272-9138-f99709370657
2010-03-11 19:14:33 +00:00
Dominik Riebeling
239976ebfa Rename Rockbox Utility output binary to RockboxUtility.
This will also cause the archives created by deploy-release.py to use the new
binary name, so also update the update checking code to accept any base
filename when retrieving version numbers from the download server.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24980 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 20:28:45 +00:00
Dominik Riebeling
495edfb7b9 Add support for OS X' Speech Synthesis Manager TTS system.
This adds basic support for using the OS X' TTS system. The current
implementation does only support selecting the voice itself, no further
settings (like speed pitch / speed) adjustments are implemented. As OS X' TTS
system wants the strings to get spoken in 8 bit encoding problems with locale
combinations are possible. For this better error handling in the rbutil TTS is
needed. The voice test button in the configuration dialog reacts pretty slow
due to the way its speaking is done. This can get changed but also requires
adjustments in the rbutil TTS system.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24979 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 20:19:54 +00:00
Dominik Riebeling
e5b63c61ab Rename InstallFrm to InstallWindowFrm.
The Install class has been renamed recently to InstallWindow. Rename the
form too so it uses the same class basename again.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24698 a1c6a512-1295-4272-9138-f99709370657
2010-02-16 18:30:24 +00:00
Dominik Riebeling
c8d13b6a7d Implement ipod_scsi_inquiry() on OS X.
This implements the basic functionality for sending inquiries on OS X.
The current implementation has some limitations:
- it will not respect the selected device but pick the first Ipod found.
- it is inefficient due to the way ipodpatcher expects this which doesn't
  really match how it works on OS X.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24382 a1c6a512-1295-4272-9138-f99709370657
2010-01-30 17:02:37 +00:00