with this you can now do:
./autogen.sh --enable-debug="sw sc"
and your build will have debug version of the libraries sw and sc, but a
non-debug build elsewhere. This currently only works for libraries. It would be
also possible to extend that to excutables, but that would need explicit in the
enable-debug switch then:
./autogen.sh --enable-debug="Library/sw Library/sc Executable/mkunroll"
so I dont know if it is worth it.
$(file is a new function that landed in gnu-make cvs
it allow to write a makefile variable directly into a file
bypassing the usual command line size limitiation
The idea is to use libo_MINGW_CHECK_DLL for libs that must be available
(typically that would be the "main" library, e.g., libxml2 or libcurl)
and libo_MINGW_TRY_DLL for possible dependencies (that may not be the
same on different systems). All further references to the dlls are
exclusively through the configured variables or defines set from these
variables (e.g., instead of hardcoding libxml2-2.dll, use
$(MINGW_LIBXML2_DLL)).
The macros are documented in m4/mingw.m4 .
Files that must be changed when adding a new dll:
* configure.in
* config_host.mk.in
* external/mingw-dlls/makefile.mk
* scp2/source/ooo/makefile.mk
* scp2/source/ooo/mingw_dlls.scp
Since OString already has a ctor accepting const char*, I cannot
find out a way to distinguish string literals other than using
a template, otherwise const char* somehow takes precedence
(all of gcc, clang, msvc). But the template requires
the Substitution Is Not A Failure Idiom to actually create
only wanted instances. And the compiler can try evaluate
the OString ctor as a possibility when comparing an int to
an anonymous enum, and anonymous enum as a type without linkage
cannot be a template argument before C++11. SFINAE should still
work, but not with gcc older than 4.0.2 (which we right now
use only on macs). So for that case disable the string literal
ctors, which means macs will have one extra strlen call,
and also that embedded \0's in string literals will be
inconsistent. The tiny performance problem shouldn't matter that
much and will eventually go away, the \0 problem should not
matter, since before string literal ctors were introduced
\0's had not been included anyway unless RTL_CONSTASCII_STRINGPARAM
was used. So we should be safe and when removing the CONSTASCII
macros \0 cases should be handled by explicitly mentioning
the length.
Add a --with-android-sdk switch, and make that and the
--with-android-ndk mandatory when building for Android. Automatically
create a proper android/sc/qa/local.properties file (which points to
the SDK) for Ant.
Restore the Android ARM code generation related flags that I think we
want to use (that used to be mentioned in README.cross but were
accidentally dropped) to the automated setting of CC and CXX.
* New build prerequisite doxygen (controllable via --with-doxygen).
* Adapted various headers to slightly different doxygen documentation
syntax, but much clean up still remains to be done (i.e., warnings
emitted by doxygen fixed).