When using a global variable from a DLL with MSVC special handling is necessary
to avoid going through additional redirection.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31640 a1c6a512-1295-4272-9138-f99709370657
Instead of calling the lame executable use libmp3lame directly. As result, this
simplifies the prerequisites for creating voice clips for Archos devices to
putting the library in the system's search path (Windows: put libmp3lame.dll in
the search path or the same folder RockboxUtility.exe is located in. Linux:
install the library using your systems package manager) and configuration.
This creates a notable encoding speedup on Windows (around factor 6 on my test
setup) and a small speedup on Linux (around factor 1.2).
The implemenatation currently has the following limitations:
- Only enabled on Windows and Linux. On OS X installing the correct dylib is a
bit nontrivial, so using the old command line based method is still in use
for now.
- The encoder parameters are currently hardcoded to use the same values the
build system uses.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31634 a1c6a512-1295-4272-9138-f99709370657
Instead of checking the settings on startup set only the device display.
Otherwise the settings are checked directly on startup and after finishing the
build information download, which leads to the configuration dialog getting
opened twice.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31593 a1c6a512-1295-4272-9138-f99709370657
Create a separate source / header file for each supported encoder and the base
class and rename classes for better readability. This should also make it
easier adding new encoders.
Remove a few trailing spaces while at it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31592 a1c6a512-1295-4272-9138-f99709370657
Since the libs are now build as universal libs there is no need anymore to
create separate binaries for both architectures and run lipo on them, just
build in a single run now. Fixes building universal binaries and dmg for all
tools using libtools.make.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31590 a1c6a512-1295-4272-9138-f99709370657
- 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
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
Since flashing the firmware is a rather critical process extend the post
installation hint to advise the user of charging the player first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31579 a1c6a512-1295-4272-9138-f99709370657
Update the target values in the main window immediately on startup. Downloading
the target information might not complete successfully, and in that case a
previously selected target will not be shown. If the target information
download finishes the displayed values are updated again (to show target status
information).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31546 a1c6a512-1295-4272-9138-f99709370657
- The OS X specific flags must not be set when cross compiling. Check for a
MinGW compiler on OS X before adding them.
- Do not set CC explicitly in chinachippatcher, it will be set from Rockbox
Utility's Makefile.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31527 a1c6a512-1295-4272-9138-f99709370657
- 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
For building Rockbox Utility with Visual Studio some extra steps need to be
done. Visual Studio is also lacking some C99 standard headers. Add the missing
headers (from clang / msinttypes) and a Makefile to automate the extra steps.
See the README file for other requirements and necessary steps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31407 a1c6a512-1295-4272-9138-f99709370657
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
This only works for Windows, so you need to use it on Windows or set CROSS
accordingly.
Update mkamsboot to make mkamsboot.dll build and link against ucl.dll.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31333 a1c6a512-1295-4272-9138-f99709370657
The MinGW versions know additional format identifiers. Use those versions to
avoid warnings. See also http://article.gmane.org/gmane.comp.gnu.mingw.user/27539/
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31331 a1c6a512-1295-4272-9138-f99709370657
OS X requires some linker-only options. Remove them from CFLAGS to avoid a
compiler warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31330 a1c6a512-1295-4272-9138-f99709370657
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
There is no need to always build sansapatcher with embedded bootloaders. Allow
building without similar to ipodpatcher. Interactive mode will obviously not be
available if built without bootloaders.
Fix rules for creating the source files for the embedded bootloaders.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31328 a1c6a512-1295-4272-9138-f99709370657
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
This allows building libipodpatcher, which will make it possible to stop
building ipodpatcher files in Rockbox Utility directly. Move some OS X common
values to libtools.make as well (might fix building libmkamsboot on OS X).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31324 a1c6a512-1295-4272-9138-f99709370657
As a result building mkamsboot for Rockbox Utility will now respect BUILD_DIR,
which should eliminate all possibly remaining issues with dualboot.o.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31283 a1c6a512-1295-4272-9138-f99709370657
While at it break some long lines in the program output as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31282 a1c6a512-1295-4272-9138-f99709370657
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
Change mkimxboot to use the common Makefile. This will fix the object file
clash when building libmkimxboot for linking with Rockbox Utility (will be
needed for FS#12402).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31261 a1c6a512-1295-4272-9138-f99709370657
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
Extend common libtools.make with libucl dependency, which will be needed by
other tools as well. Update mkmpioboot.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31259 a1c6a512-1295-4272-9138-f99709370657
Introduce a new Makefile holding the common functionality for building tools
used by Rockbox Utility (*patcher / mk*boot). This converts mktccboot to use
the common Makefile.
Also introduces BUILD_DIR variable to control the path used for placing
intermediate objects into. This should avoid filename clashes between different
tools. Filenames are (still) assumed to be unique withing a single tool.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31257 a1c6a512-1295-4272-9138-f99709370657
- MSVC uses different namings in some places. Adjust the sources via the
preprocessor if build with MSVC.
- MSVC doesn't know about __func__, use name instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31185 a1c6a512-1295-4272-9138-f99709370657
MSVC requires void-casting of unused variables to be done after variable
definitions. Change the order, no functional changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31171 a1c6a512-1295-4272-9138-f99709370657
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
Use the preprocessor to make platform specific files compile as empty files if
built for a different platform. This removes the need to distinguish in the
Makefile and simplifies creating a libipodpatcher.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31169 a1c6a512-1295-4272-9138-f99709370657