diff options
-rw-r--r-- | Makefile.in | 7 | ||||
-rw-r--r-- | README.cross | 216 | ||||
-rwxr-xr-x | configure.in | 41 | ||||
-rw-r--r-- | distro-configs/LibreOfficeiOS.conf | 1 | ||||
-rw-r--r-- | dmake/function.c | 2 | ||||
-rwxr-xr-x | set_soenv.in | 3 | ||||
-rwxr-xr-x | solenv/bin/build.pl | 19 | ||||
-rw-r--r-- | solenv/inc/_tg_shl.mk | 70 | ||||
-rw-r--r-- | solenv/inc/libs.mk | 4 | ||||
-rw-r--r-- | solenv/inc/tg_shl.mk | 7 | ||||
-rw-r--r-- | solenv/inc/unx.mk | 2 | ||||
-rw-r--r-- | solenv/inc/unxiosr.mk | 3 | ||||
-rw-r--r-- | solenv/inc/win32/jni_md.h | 3 |
13 files changed, 334 insertions, 44 deletions
diff --git a/Makefile.in b/Makefile.in index c1d911d32cc9..bc55b978beaa 100644 --- a/Makefile.in +++ b/Makefile.in @@ -28,10 +28,14 @@ install: dev-install: @. ./*Env.Set.sh && \ cd smoketestoo_native && \ + export SAL_USE_VCLPLUGIN="svp" && \ build.pl $(GBUILD_OPT) -P@BUILD_NCPUS@ --all -- -P@BUILD_MAX_JOBS@ && \ + cd @abs_builddir@ && ln -s $$SOLARVER/$$INPATH/installation/opt/ install && \ echo "" && \ echo "Developer installation finished, you can now execute:" && \ - echo "@abs_builddir@/installation/opt/program/soffice" + echo "cd @abs_builddir@/install/program" && \ + echo ". ooenv" && \ + echo "./soffice.bin" distclean: dmake/dmake@EXEEXT_FOR_BUILD@ @. ./*Env.Set.sh && \ @@ -60,6 +64,7 @@ check: Makefile dmake/dmake@EXEEXT_FOR_BUILD@ fetch cd smoketestoo_native && \ export SAL_USE_VCLPLUGIN="svp" && \ build.pl $(GBUILD_OPT) -P@BUILD_NCPUS@ --all -- -P@BUILD_MAX_JOBS@ + @. ./*Env.Set.sh && $$SOLARENV/bin/subsequenttests id: @. ./*Env.Set.sh && \ diff --git a/README.cross b/README.cross new file mode 100644 index 000000000000..d595ab8e3d9b --- /dev/null +++ b/README.cross @@ -0,0 +1,216 @@ +Cross-compiling LibreOffice +=========================== + +Notes on cross-compiling LibreOffice, written by Tor Lillqvist +<tlillqvist@novell.com> <tml@iki.fi> in May, 2011. + +Cross-compilation of LibreOffice is not possible yet. Some initial +work is done, "baby steps", but a lot remains. This work is highly +experimental and done mostly in my own spare time just for the hacking +pleasure. No promise, explicit or implied, is given that it will ever +be finished. + +Searching for information about cross-compilation of OpenOffice.org +(the predecessor of LibreOffice) you will find information about what +actually was not cross-compilation, but using QEMU. + +The cross-compilation experimentation is going on for three platforms: +Windows, iOS and Android. This work is being done on the master branch +of LibreOffice. Some other people have talked about setting up a +separate branch for Android work, or even separate clones at github. I +am not interested in that. + + +General +------- + +In GNU Autoconf terminology, "build" is the platform on which you are +running a build on some software and "host" is the platform on which +the software you are building will run. Only in the specific case of +building compilers and other programming tools is the term "target" +used to indicate the platform for which the tools your are building +will produce code. As LibreOffice is not a compiler, the "target" term +should not be used in the context of cross-compilation. + +(For a case where all three of "build", "host" and "target" are +different: consider a gcc cross-compiler running on Windows, producing +code for Android, where the cross-compiler itself was built on +Linux. (This is a real case.) An interesting tidbit is that such +configurations are called "Canadian Cross".) + +Even though the LibreOffice build mechanism is highly unorthodox, the +configure script takes the normal --build and --host options like any +GNU Autoconf -based configure script. To cross-compile, you basically +need just to specify a suitable --host option and things should work +out nicely. In practise, some more details might be needed. See +examples below. + + +What is so hard, then? +---------------------- + +Despite the fact that the configure script takes normal --build and +--host options, that is just the beginning. In practise a lot of work +was necessary to separate tests for "host" and "build" platforms in +the configure script. See the git log for details. And the reasonably +"standard" configure.in is just the top level; when we get down to the +actual makefilery used to build the bits of LibreOffice, it gets much +worse. + + +Windows +------- + +There is some support in LibreOffice already (from OpenOffice.org) for +building it locally on Windows but with the GNU tool-chain, i.e. what +is commonly known as MinGW. But as far as I know, that work has never +attempted cross-compilation. + +This OOo-originated MinGW support attempts to support both running +Cygwin gcc in its -mno-cygwin mode, and a native MinGW compiler. The +-mno-cygwin mechanism in the Cygwin gcc is rapidly being obsoleted, if +it isn't already, and I have not attempted to check that it keeps +working. Ditto for native MinGW; if one compiles natively on Windows, +why not use Microsoft's compiler, as OOo/LO has been build for Windows +all the time using that and it works fine. In my opinion, it makes +sense to use MinGW only for cross-compilation. (Because of obvious +benefits like speed improvement, easier automation in systems like the +openSUSE Build Servce, etc.) + +MinGW is available as cross-build toolchains pre-packaged in more or +less official packages for many Linux distros including Debian, Fedora +and openSUSE. Personally I use the mingw32 packages in the openSUSE +Build Service, running on openSUSE. + +It is somewhat unclear how well thought-out the conditionals and code +for MinGW inside the LibreOffice code actually is. The little I have +seen of it seems a bit randomish, with copy-pasting haveing been +preferred to factoring out differences. + +The autogen.lastrun I use for my MinGW cross-compilation experimentation is: + +CC=ccache i686-w64-mingw32-gcc +CXX=ccache i686-w64-mingw32-g++ +CC_FOR_BUILD=ccache gcc +CXX_FOR_BUILD=ccache g++ +--build=x86_64-unknown-linux-gnu +--host=i686-w64-mingw32 +--with-distro=LibreOfficeWin32 +--disable-build-mozilla +--disable-ext-nlpsolver +--disable-ext-pdfimport +--disable-ext-presenter-console +--disable-ext-presenter-minimizer +--disable-ext-report-builder +--disable-ext-scripting-beanshell +--disable-ext-scripting-javascript +--disable-ext-wiki-publisher +--disable-ext-wiki-publisher +--disable-mozilla +--disable-zenity +--with-external-tar=/mnt/hemulen/ooo/git/master/src +--with-num-cpus=1 +--with-max-jobs=1 +--with-system-altlinuxhyph +--with-system-boost +--with-system-curl +--with-system-db +--with-system-expat +--with-system-hunspell +--with-system-icu +--with-system-jpeg +--with-system-lpsolve +--with-system-neon +--with-system-openssl +--with-system-redland +--with-system-libwpd +--with-system-libwps +--with-system-libwpg +--with-system-libxml +--with-system-libxslt +--with-system-mythes +--with-system-python +--with-system-zlib +--with-vendor=no + + +iOS +--- + +iOS is the operating system of Apple's mobile devices. Clearly for a +device like the iPad it would be totally unacceptable to run a normal +LibreOffice application with a overlapping windows and mouse-oriented +GUI widgets. No work has been done (at least publicly) to design a +touch GUI for LibreOffice, so the work on cross-compiling LibreOffice +for iOS is extremely experimental, and of course partly pointless;) +But it is interesting and fun nonetheless. + +Obviously it will make sense to build only a part of LibreOffice's +code for iOS. Most likely all GUI-oriented code should be left out, +and some iOS app that eventually wants to use the remaining bits will +handle all its GUI in a platform-dependent manner. How well it will be +possible to do such a split remains to be seen. As I said, this is +highly experimental and just in its baby steps phase. + +Technically, one important special aspect of iOS is that apps are not +allowed to load own dynamic libraries. (System libraries are used in +the form of dynamic libraries, just like on MacOSX, of which iOS is a +variant.) So all the libraries in LibreOffice that normally are shared +libraries (DLLs on Windows, shared objects (.so) on Linux, dynamic +libraries on MacOSX (.dylib)) need to be built as static archives +instead. Obviously this will have some interesting consequences for +how UNO is implemented and used. None of that has been spared much +thought yet. + +The Apple tool-chain for iOS cross-building is available only for +MacOSX, so that is where I have been doing it. + +Here is my autogen.lastrun for iOS: +CXX=ccache /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2 -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk +CC=ccache /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk +CC_FOR_BUILD=ccache /Xcode3/usr/bin/gcc-4.0 +CXX_FOR_BUILD=ccache /Xcode3/usr/bin/g++-4.0 +--with-distro=LibreOfficeiOS +--with-external-tar=/Volumes/ooo/git/master/src +--with-icu-native-build-root=/Users/tml/lo-macosx/icu/unxmacxi.pro/misc/build/icu/source +--with-num-cpus=1 +--with-max-jobs=1 + + +Android +------- + +I don't know much about Android, but from a technical point of view it +is a kind of Linux, of course. As far as I know it is allowed for an +Android app to use shared objects, but if it isn't, then just the same +approach as used on iOS will need to be used. + +As for the GUI, the same holds as said above for iOS. + +I have done my Android cross-compilation work on Linux (openSUSE in +particular), but it could as well be done on MacOSX. The Android +cross-buld tool-chain (the "Native Development Kit", or NDK) is +available for Linux, MacOSX and Windows. (Trying to cross-compile from +Windows will probably drive you insane.) + +Here is my autogen.lastrun for Android: +CC=ccache /home/tml/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot /home/tml/android-ndk-r5b/platforms/android-9/arch-arm +CXX=ccache /home/tml/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-g++ --sysroot /home/tml/android-ndk-r5b/platforms/android-9/arch-arm +AR=/home/tml/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-ar +NM=/home/tml/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-nm +OBJDUMP=/home/tml/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-objdump +RANLIB=/home/tml/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-ranlib +STRIP=/home/tml/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-strip +CC_FOR_BUILD=ccache gcc +CXX_FOR_BUILD=ccache g++ +--build=x86_64-unknown-linux-gnu +--disable-zenity +--with-distro=LibreOfficeAndroid +--with-external-tar=/mnt/hemulen/ooo/git/master/src + + +That's all, thank you, and have a nice day. People with commit access, +feel free to edit this document and add yourself below. Sorry for +writing now initially from such a personal point of view. + +--Tor Lillqvist <tlillqvist@novell.com>, <tml@iki.fi> diff --git a/configure.in b/configure.in index 31f8a4d6a208..74055d191698 100755 --- a/configure.in +++ b/configure.in @@ -1286,6 +1286,19 @@ AC_ARG_WITH(mingw-cross-compiler, ], ,) +AC_ARG_WITH(icu-native-build-root, + AS_HELP_STRING([--with-icu-native-build-root], + [Specify the the 'source' directory of a native build of ICU.]) + [ + Usage: --with-icu-native-build-root=<path>> + + When cross-compiling and not using a "system" ICU, + specify the path to the "source" directory of the + ICU build in a native LibreOffice build tree. For example + --with-icu-native-build-root=/Users/tml/lo-macosx/icu/unxmacxi.pro/misc/build/icu/source + ], +,) + AC_ARG_WITH(build-version, AS_HELP_STRING([--with-build-version], [Allows the builder to add a custom version tag that will appear in the @@ -5540,6 +5553,12 @@ else AC_MSG_RESULT([internal]) SYSTEM_ICU=NO BUILD_TYPE="$BUILD_TYPE ICU" + if test "$cross_compiling" = "yes"; then + if test "$with_icu_native_build_root" = "" ; then + AC_MSG_ERROR([when cross-compiling ICU you must use --with-icu-native-build-root]) + fi + ICU_NATIVE_BUILD_ROOT="$with_icu_native_build_root" + fi fi AC_SUBST(SYSTEM_ICU) AC_SUBST(SYSTEM_GENBRK) @@ -5548,6 +5567,7 @@ AC_SUBST(SYSTEM_GENCMN) AC_SUBST(ICU_MAJOR) AC_SUBST(ICU_MINOR) AC_SUBST(ICU_MICRO) +AC_SUBST(ICU_NATIVE_BUILD_ROOT) dnl =================================================================== dnl Graphite @@ -5775,12 +5795,23 @@ AC_MSG_CHECKING([which libssl to use]) if test -n "$with_system_openssl" -o -n "$with_system_libs" && \ test "$with_system_openssl" != "no"; then AC_MSG_RESULT([external]) - # Mac OS builds should get out without extra stuff is the Mac porters' - # wish. And pkg-config is although Xcode ships a .pc for openssl - if test "$_os" = "Darwin" -o "$_os" = "NetBSD" -o "$_os" = "OpenBSD" -o \ + + dnl Mac OS (and BSD, apparently) builds should get out without + dnl extra stuff is the Mac porters' wish. And pkg-config is + dnl although Xcode ships a .pc for OpenSSL + + dnl For iOS we don't want to even try compiling bundled (outdated + dnl version of) OpenSSL with its ultra-weird configury. But on the + dnl other hand there is no system OpenSSL either. But let's just + dnl build a current OpenSSL separately using some of the ways + dnl found on the net and pretend it is a "system" OpenSSL. + + dnl In either case pass OPENSSL_CFLAGS and OPENSSL_LIBS if + dnl necessary in the environment. + + if test "$_os" = "Darwin" -o "$_os" = "iOS" -o "$_os" = "NetBSD" -o "$_os" = "OpenBSD" -o \ "$_os" = "DragonFly"; then - OPENSSL_CFLAGS= - OPENSSL_LIBS="-lssl -lcrypto" + OPENSSL_LIBS=${OPENSSL_LIBS:--lssl -lcrypto} else PKG_CHECK_MODULES( OPENSSL, openssl ) fi diff --git a/distro-configs/LibreOfficeiOS.conf b/distro-configs/LibreOfficeiOS.conf index 02008d5511fc..20231741682e 100644 --- a/distro-configs/LibreOfficeiOS.conf +++ b/distro-configs/LibreOfficeiOS.conf @@ -15,6 +15,7 @@ --disable-randr --disable-randr-link --disable-systray +--with-system-openssl --without-fonts --without-java --without-junit diff --git a/dmake/function.c b/dmake/function.c index cd86810849e5..d0379f612971 100644 --- a/dmake/function.c +++ b/dmake/function.c @@ -587,7 +587,7 @@ int expand; Do_profile_output( "s", M_TARGET, &cell ); /* Print the shell escape command. */ - if( !(rcp.st_attr & A_SILENT) ) { + if( Verbose & V_FORCEECHO ) { printf( "%s: Executing shell macro: %s\n", Pname, data ); fflush(stdout); } diff --git a/set_soenv.in b/set_soenv.in index 569a867f4677..724af0e11ec0 100755 --- a/set_soenv.in +++ b/set_soenv.in @@ -1065,7 +1065,7 @@ if ($platform =~ m/cygwin/) } $ILIB .= $wps.PathFormat("@MINGW_CLIB_DIR@"). $wps.$WINDOWS_SDK_HOME.$LIB; - if ( '@ENABLE_DIRETX@' ) + if ( '@ENABLE_DIRECTX@' ) { $ILIB .= $wps.PathFormat("@DIRECTXSDK_LIB@"); } } @@ -1771,6 +1771,7 @@ if ( '@CROSS_COMPILING@' ne '' ) ToFile( "CXX_FOR_BUILD", "@CXX_FOR_BUILD@", "e" ); ToFile( "GXX_INCLUDE_PATH_FOR_BUILD", "@GXX_INCLUDE_PATH_FOR_BUILD@", "e" ); ToFile( "MACOSX_DEPLOYMENT_TARGET_FOR_BUILD", "@MACOSX_DEPLOYMENT_TARGET_FOR_BUILD@", "e" ); + ToFile( "ICU_NATIVE_BUILD_ROOT", "@ICU_NATIVE_BUILD_ROOT@", "e"); } else { diff --git a/solenv/bin/build.pl b/solenv/bin/build.pl index 344d00a8bdf7..2ee9af468e92 100755 --- a/solenv/bin/build.pl +++ b/solenv/bin/build.pl @@ -2021,15 +2021,16 @@ sub run_job { if (!-d $log_dir) { system("$perl $mkout"); }; - $error_code = system ("$job_to_do > $log_file 2>&1"); - if ( -f $log_file) { - open(LOGFILE, "< $log_file"); - print while(<LOGFILE>); - close(LOGFILE); - if ( $error_code != 0) - { - system("cat $log_file >> $build_error_log"); - } + open (MAKE, "$job_to_do 2>&1 |") or return 8; + open (LOGFILE, "> $log_file") or return 8; + while (<MAKE>) { print LOGFILE $_; print $_ } + close MAKE; + $error_code = $?; + close LOGFILE; + if ( $error_code != 0) + { + system("echo \"log for $path\" >> $build_error_log"); + system("cat $log_file >> $build_error_log"); } return $error_code; diff --git a/solenv/inc/_tg_shl.mk b/solenv/inc/_tg_shl.mk index 7c023c4d9c4e..ea63fa426060 100644 --- a/solenv/inc/_tg_shl.mk +++ b/solenv/inc/_tg_shl.mk @@ -188,7 +188,7 @@ $(USE_SHL1VERSIONMAP) .ERRREMOVE: $(SHL1VERSIONMAP) .ENDIF # "$(GUI)" != "UNX" .IF "$(UNIXVERSIONNAMES)"!="" -.IF "$(OS)"!="MACOSX" && "$(OS)"!="AIX" +.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX" .IF "$(GUI)"=="UNX" SHL1SONAME=\"$(SONAME_SWITCH)$(SHL1TARGETN:f)\" .ENDIF # "$(GUI)"!="UNX" @@ -467,6 +467,9 @@ $(SHL1TARGETN) : \ $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS1) $(SHL1TARGETN) .ENDIF # "$(SHL1NOCHECK)"!="" .ENDIF +.ELIF "$(OS)"=="IOS" + $(COMMAND_ECHO)$(AR) $(LIB1FLAGS) $(LIBFLAGS) $@ $(SHL1OBJS) $(shell cat /dev/null $(LIB1TARGET) $(SHL1LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g) + $(COMMAND_ECHO)$(RANLIB) $@ .ELSE # "$(OS)"=="MACOSX" @-$(RM) $(MISC)/$(TARGET).$(@:b)_1.cmd @echo $(SHL1LINKER) $(SHL1LINKFLAGS) $(SHL1SONAME) $(LINKFLAGSSHL) $(SHL1VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL1OBJS:s/.obj/.o/) \ @@ -489,7 +492,7 @@ $(SHL1TARGETN) : \ .ENDIF # "$(SHL1NOCHECK)"!="" .ENDIF # "$(UPDATER)"=="YES" .ENDIF # "$(OS)"=="MACOSX" -.IF "$(UNIXVERSIONNAMES)"!="" +.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS" $(COMMAND_ECHO)$(RM) $(LB)/$(SHL1TARGETN:b) $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL1TARGETN:f) $(SHL1TARGETN:b) .ENDIF # "$(UNIXVERSIONNAMES)"!="" @@ -690,7 +693,7 @@ $(USE_SHL2VERSIONMAP) .ERRREMOVE: $(SHL2VERSIONMAP) .ENDIF # "$(GUI)" != "UNX" .IF "$(UNIXVERSIONNAMES)"!="" -.IF "$(OS)"!="MACOSX" && "$(OS)"!="AIX" +.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX" .IF "$(GUI)"=="UNX" SHL2SONAME=\"$(SONAME_SWITCH)$(SHL2TARGETN:f)\" .ENDIF # "$(GUI)"!="UNX" @@ -969,6 +972,9 @@ $(SHL2TARGETN) : \ $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS2) $(SHL2TARGETN) .ENDIF # "$(SHL2NOCHECK)"!="" .ENDIF +.ELIF "$(OS)"=="IOS" + $(COMMAND_ECHO)$(AR) $(LIB2FLAGS) $(LIBFLAGS) $@ $(SHL2OBJS) $(shell cat /dev/null $(LIB2TARGET) $(SHL2LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g) + $(COMMAND_ECHO)$(RANLIB) $@ .ELSE # "$(OS)"=="MACOSX" @-$(RM) $(MISC)/$(TARGET).$(@:b)_2.cmd @echo $(SHL2LINKER) $(SHL2LINKFLAGS) $(SHL2SONAME) $(LINKFLAGSSHL) $(SHL2VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL2OBJS:s/.obj/.o/) \ @@ -991,7 +997,7 @@ $(SHL2TARGETN) : \ .ENDIF # "$(SHL2NOCHECK)"!="" .ENDIF # "$(UPDATER)"=="YES" .ENDIF # "$(OS)"=="MACOSX" -.IF "$(UNIXVERSIONNAMES)"!="" +.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS" $(COMMAND_ECHO)$(RM) $(LB)/$(SHL2TARGETN:b) $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL2TARGETN:f) $(SHL2TARGETN:b) .ENDIF # "$(UNIXVERSIONNAMES)"!="" @@ -1192,7 +1198,7 @@ $(USE_SHL3VERSIONMAP) .ERRREMOVE: $(SHL3VERSIONMAP) .ENDIF # "$(GUI)" != "UNX" .IF "$(UNIXVERSIONNAMES)"!="" -.IF "$(OS)"!="MACOSX" && "$(OS)"!="AIX" +.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX" .IF "$(GUI)"=="UNX" SHL3SONAME=\"$(SONAME_SWITCH)$(SHL3TARGETN:f)\" .ENDIF # "$(GUI)"!="UNX" @@ -1471,6 +1477,9 @@ $(SHL3TARGETN) : \ $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS3) $(SHL3TARGETN) .ENDIF # "$(SHL3NOCHECK)"!="" .ENDIF +.ELIF "$(OS)"=="IOS" + $(COMMAND_ECHO)$(AR) $(LIB3FLAGS) $(LIBFLAGS) $@ $(SHL3OBJS) $(shell cat /dev/null $(LIB3TARGET) $(SHL3LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g) + $(COMMAND_ECHO)$(RANLIB) $@ .ELSE # "$(OS)"=="MACOSX" @-$(RM) $(MISC)/$(TARGET).$(@:b)_3.cmd @echo $(SHL3LINKER) $(SHL3LINKFLAGS) $(SHL3SONAME) $(LINKFLAGSSHL) $(SHL3VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL3OBJS:s/.obj/.o/) \ @@ -1493,7 +1502,7 @@ $(SHL3TARGETN) : \ .ENDIF # "$(SHL3NOCHECK)"!="" .ENDIF # "$(UPDATER)"=="YES" .ENDIF # "$(OS)"=="MACOSX" -.IF "$(UNIXVERSIONNAMES)"!="" +.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS" $(COMMAND_ECHO)$(RM) $(LB)/$(SHL3TARGETN:b) $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL3TARGETN:f) $(SHL3TARGETN:b) .ENDIF # "$(UNIXVERSIONNAMES)"!="" @@ -1694,7 +1703,7 @@ $(USE_SHL4VERSIONMAP) .ERRREMOVE: $(SHL4VERSIONMAP) .ENDIF # "$(GUI)" != "UNX" .IF "$(UNIXVERSIONNAMES)"!="" -.IF "$(OS)"!="MACOSX" && "$(OS)"!="AIX" +.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX" .IF "$(GUI)"=="UNX" SHL4SONAME=\"$(SONAME_SWITCH)$(SHL4TARGETN:f)\" .ENDIF # "$(GUI)"!="UNX" @@ -1973,6 +1982,9 @@ $(SHL4TARGETN) : \ $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS4) $(SHL4TARGETN) .ENDIF # "$(SHL4NOCHECK)"!="" .ENDIF +.ELIF "$(OS)"=="IOS" + $(COMMAND_ECHO)$(AR) $(LIB4FLAGS) $(LIBFLAGS) $@ $(SHL4OBJS) $(shell cat /dev/null $(LIB4TARGET) $(SHL4LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g) + $(COMMAND_ECHO)$(RANLIB) $@ .ELSE # "$(OS)"=="MACOSX" @-$(RM) $(MISC)/$(TARGET).$(@:b)_4.cmd @echo $(SHL4LINKER) $(SHL4LINKFLAGS) $(SHL4SONAME) $(LINKFLAGSSHL) $(SHL4VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL4OBJS:s/.obj/.o/) \ @@ -1995,7 +2007,7 @@ $(SHL4TARGETN) : \ .ENDIF # "$(SHL4NOCHECK)"!="" .ENDIF # "$(UPDATER)"=="YES" .ENDIF # "$(OS)"=="MACOSX" -.IF "$(UNIXVERSIONNAMES)"!="" +.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS" $(COMMAND_ECHO)$(RM) $(LB)/$(SHL4TARGETN:b) $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL4TARGETN:f) $(SHL4TARGETN:b) .ENDIF # "$(UNIXVERSIONNAMES)"!="" @@ -2196,7 +2208,7 @@ $(USE_SHL5VERSIONMAP) .ERRREMOVE: $(SHL5VERSIONMAP) .ENDIF # "$(GUI)" != "UNX" .IF "$(UNIXVERSIONNAMES)"!="" -.IF "$(OS)"!="MACOSX" && "$(OS)"!="AIX" +.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX" .IF "$(GUI)"=="UNX" SHL5SONAME=\"$(SONAME_SWITCH)$(SHL5TARGETN:f)\" .ENDIF # "$(GUI)"!="UNX" @@ -2475,6 +2487,9 @@ $(SHL5TARGETN) : \ $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS5) $(SHL5TARGETN) .ENDIF # "$(SHL5NOCHECK)"!="" .ENDIF +.ELIF "$(OS)"=="IOS" + $(COMMAND_ECHO)$(AR) $(LIB5FLAGS) $(LIBFLAGS) $@ $(SHL5OBJS) $(shell cat /dev/null $(LIB5TARGET) $(SHL5LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g) + $(COMMAND_ECHO)$(RANLIB) $@ .ELSE # "$(OS)"=="MACOSX" @-$(RM) $(MISC)/$(TARGET).$(@:b)_5.cmd @echo $(SHL5LINKER) $(SHL5LINKFLAGS) $(SHL5SONAME) $(LINKFLAGSSHL) $(SHL5VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL5OBJS:s/.obj/.o/) \ @@ -2497,7 +2512,7 @@ $(SHL5TARGETN) : \ .ENDIF # "$(SHL5NOCHECK)"!="" .ENDIF # "$(UPDATER)"=="YES" .ENDIF # "$(OS)"=="MACOSX" -.IF "$(UNIXVERSIONNAMES)"!="" +.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS" $(COMMAND_ECHO)$(RM) $(LB)/$(SHL5TARGETN:b) $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL5TARGETN:f) $(SHL5TARGETN:b) .ENDIF # "$(UNIXVERSIONNAMES)"!="" @@ -2698,7 +2713,7 @@ $(USE_SHL6VERSIONMAP) .ERRREMOVE: $(SHL6VERSIONMAP) .ENDIF # "$(GUI)" != "UNX" .IF "$(UNIXVERSIONNAMES)"!="" -.IF "$(OS)"!="MACOSX" && "$(OS)"!="AIX" +.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX" .IF "$(GUI)"=="UNX" SHL6SONAME=\"$(SONAME_SWITCH)$(SHL6TARGETN:f)\" .ENDIF # "$(GUI)"!="UNX" @@ -2977,6 +2992,9 @@ $(SHL6TARGETN) : \ $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS6) $(SHL6TARGETN) .ENDIF # "$(SHL6NOCHECK)"!="" .ENDIF +.ELIF "$(OS)"=="IOS" + $(COMMAND_ECHO)$(AR) $(LIB6FLAGS) $(LIBFLAGS) $@ $(SHL6OBJS) $(shell cat /dev/null $(LIB6TARGET) $(SHL6LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g) + $(COMMAND_ECHO)$(RANLIB) $@ .ELSE # "$(OS)"=="MACOSX" @-$(RM) $(MISC)/$(TARGET).$(@:b)_6.cmd @echo $(SHL6LINKER) $(SHL6LINKFLAGS) $(SHL6SONAME) $(LINKFLAGSSHL) $(SHL6VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL6OBJS:s/.obj/.o/) \ @@ -2999,7 +3017,7 @@ $(SHL6TARGETN) : \ .ENDIF # "$(SHL6NOCHECK)"!="" .ENDIF # "$(UPDATER)"=="YES" .ENDIF # "$(OS)"=="MACOSX" -.IF "$(UNIXVERSIONNAMES)"!="" +.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS" $(COMMAND_ECHO)$(RM) $(LB)/$(SHL6TARGETN:b) $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL6TARGETN:f) $(SHL6TARGETN:b) .ENDIF # "$(UNIXVERSIONNAMES)"!="" @@ -3200,7 +3218,7 @@ $(USE_SHL7VERSIONMAP) .ERRREMOVE: $(SHL7VERSIONMAP) .ENDIF # "$(GUI)" != "UNX" .IF "$(UNIXVERSIONNAMES)"!="" -.IF "$(OS)"!="MACOSX" && "$(OS)"!="AIX" +.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX" .IF "$(GUI)"=="UNX" SHL7SONAME=\"$(SONAME_SWITCH)$(SHL7TARGETN:f)\" .ENDIF # "$(GUI)"!="UNX" @@ -3479,6 +3497,9 @@ $(SHL7TARGETN) : \ $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS7) $(SHL7TARGETN) .ENDIF # "$(SHL7NOCHECK)"!="" .ENDIF +.ELIF "$(OS)"=="IOS" + $(COMMAND_ECHO)$(AR) $(LIB7FLAGS) $(LIBFLAGS) $@ $(SHL7OBJS) $(shell cat /dev/null $(LIB7TARGET) $(SHL7LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g) + $(COMMAND_ECHO)$(RANLIB) $@ .ELSE # "$(OS)"=="MACOSX" @-$(RM) $(MISC)/$(TARGET).$(@:b)_7.cmd @echo $(SHL7LINKER) $(SHL7LINKFLAGS) $(SHL7SONAME) $(LINKFLAGSSHL) $(SHL7VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL7OBJS:s/.obj/.o/) \ @@ -3501,7 +3522,7 @@ $(SHL7TARGETN) : \ .ENDIF # "$(SHL7NOCHECK)"!="" .ENDIF # "$(UPDATER)"=="YES" .ENDIF # "$(OS)"=="MACOSX" -.IF "$(UNIXVERSIONNAMES)"!="" +.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS" $(COMMAND_ECHO)$(RM) $(LB)/$(SHL7TARGETN:b) $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL7TARGETN:f) $(SHL7TARGETN:b) .ENDIF # "$(UNIXVERSIONNAMES)"!="" @@ -3702,7 +3723,7 @@ $(USE_SHL8VERSIONMAP) .ERRREMOVE: $(SHL8VERSIONMAP) .ENDIF # "$(GUI)" != "UNX" .IF "$(UNIXVERSIONNAMES)"!="" -.IF "$(OS)"!="MACOSX" && "$(OS)"!="AIX" +.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX" .IF "$(GUI)"=="UNX" SHL8SONAME=\"$(SONAME_SWITCH)$(SHL8TARGETN:f)\" .ENDIF # "$(GUI)"!="UNX" @@ -3981,6 +4002,9 @@ $(SHL8TARGETN) : \ $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS8) $(SHL8TARGETN) .ENDIF # "$(SHL8NOCHECK)"!="" .ENDIF +.ELIF "$(OS)"=="IOS" + $(COMMAND_ECHO)$(AR) $(LIB8FLAGS) $(LIBFLAGS) $@ $(SHL8OBJS) $(shell cat /dev/null $(LIB8TARGET) $(SHL8LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g) + $(COMMAND_ECHO)$(RANLIB) $@ .ELSE # "$(OS)"=="MACOSX" @-$(RM) $(MISC)/$(TARGET).$(@:b)_8.cmd @echo $(SHL8LINKER) $(SHL8LINKFLAGS) $(SHL8SONAME) $(LINKFLAGSSHL) $(SHL8VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL8OBJS:s/.obj/.o/) \ @@ -4003,7 +4027,7 @@ $(SHL8TARGETN) : \ .ENDIF # "$(SHL8NOCHECK)"!="" .ENDIF # "$(UPDATER)"=="YES" .ENDIF # "$(OS)"=="MACOSX" -.IF "$(UNIXVERSIONNAMES)"!="" +.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS" $(COMMAND_ECHO)$(RM) $(LB)/$(SHL8TARGETN:b) $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL8TARGETN:f) $(SHL8TARGETN:b) .ENDIF # "$(UNIXVERSIONNAMES)"!="" @@ -4204,7 +4228,7 @@ $(USE_SHL9VERSIONMAP) .ERRREMOVE: $(SHL9VERSIONMAP) .ENDIF # "$(GUI)" != "UNX" .IF "$(UNIXVERSIONNAMES)"!="" -.IF "$(OS)"!="MACOSX" && "$(OS)"!="AIX" +.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX" .IF "$(GUI)"=="UNX" SHL9SONAME=\"$(SONAME_SWITCH)$(SHL9TARGETN:f)\" .ENDIF # "$(GUI)"!="UNX" @@ -4483,6 +4507,9 @@ $(SHL9TARGETN) : \ $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS9) $(SHL9TARGETN) .ENDIF # "$(SHL9NOCHECK)"!="" .ENDIF +.ELIF "$(OS)"=="IOS" + $(COMMAND_ECHO)$(AR) $(LIB9FLAGS) $(LIBFLAGS) $@ $(SHL9OBJS) $(shell cat /dev/null $(LIB9TARGET) $(SHL9LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g) + $(COMMAND_ECHO)$(RANLIB) $@ .ELSE # "$(OS)"=="MACOSX" @-$(RM) $(MISC)/$(TARGET).$(@:b)_9.cmd @echo $(SHL9LINKER) $(SHL9LINKFLAGS) $(SHL9SONAME) $(LINKFLAGSSHL) $(SHL9VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL9OBJS:s/.obj/.o/) \ @@ -4505,7 +4532,7 @@ $(SHL9TARGETN) : \ .ENDIF # "$(SHL9NOCHECK)"!="" .ENDIF # "$(UPDATER)"=="YES" .ENDIF # "$(OS)"=="MACOSX" -.IF "$(UNIXVERSIONNAMES)"!="" +.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS" $(COMMAND_ECHO)$(RM) $(LB)/$(SHL9TARGETN:b) $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL9TARGETN:f) $(SHL9TARGETN:b) .ENDIF # "$(UNIXVERSIONNAMES)"!="" @@ -4706,7 +4733,7 @@ $(USE_SHL10VERSIONMAP) .ERRREMOVE: $(SHL10VERSIONMAP) .ENDIF # "$(GUI)" != "UNX" .IF "$(UNIXVERSIONNAMES)"!="" -.IF "$(OS)"!="MACOSX" && "$(OS)"!="AIX" +.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX" .IF "$(GUI)"=="UNX" SHL10SONAME=\"$(SONAME_SWITCH)$(SHL10TARGETN:f)\" .ENDIF # "$(GUI)"!="UNX" @@ -4985,6 +5012,9 @@ $(SHL10TARGETN) : \ $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS10) $(SHL10TARGETN) .ENDIF # "$(SHL10NOCHECK)"!="" .ENDIF +.ELIF "$(OS)"=="IOS" + $(COMMAND_ECHO)$(AR) $(LIB10FLAGS) $(LIBFLAGS) $@ $(SHL10OBJS) $(shell cat /dev/null $(LIB10TARGET) $(SHL10LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g) + $(COMMAND_ECHO)$(RANLIB) $@ .ELSE # "$(OS)"=="MACOSX" @-$(RM) $(MISC)/$(TARGET).$(@:b)_10.cmd @echo $(SHL10LINKER) $(SHL10LINKFLAGS) $(SHL10SONAME) $(LINKFLAGSSHL) $(SHL10VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL10OBJS:s/.obj/.o/) \ @@ -5007,7 +5037,7 @@ $(SHL10TARGETN) : \ .ENDIF # "$(SHL10NOCHECK)"!="" .ENDIF # "$(UPDATER)"=="YES" .ENDIF # "$(OS)"=="MACOSX" -.IF "$(UNIXVERSIONNAMES)"!="" +.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS" $(COMMAND_ECHO)$(RM) $(LB)/$(SHL10TARGETN:b) $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL10TARGETN:f) $(SHL10TARGETN:b) .ENDIF # "$(UNIXVERSIONNAMES)"!="" diff --git a/solenv/inc/libs.mk b/solenv/inc/libs.mk index 83fdd8dfb25a..97d6419e7cbd 100644 --- a/solenv/inc/libs.mk +++ b/solenv/inc/libs.mk @@ -60,11 +60,7 @@ ICUDATALIB=-licudata I18NUTILLIB=-li18nutil$(COMID) I18NISOLANGLIB=-li18nisolang$(ISOLANG_MAJOR)$(COMID) I18NPAPERLIB=-li18npaper$(DLLPOSTFIX) -.IF "$(GUI)$(COM)"=="WNTGCC" -SALHELPERLIB=-lisalhelper -.ELSE # "$(GUI)$(COM)"=="WNTGCC" SALHELPERLIB=-luno_salhelper$(COMID) -.ENDIF # "$(GUI)$(COM)"=="WNTGCC" XMLSCRIPTLIB =-lxcr$(DLLPOSTFIX) COMPHELPERLIB=-lcomphelp$(COMID) CONNECTIVITYLIB=-lconnectivity diff --git a/solenv/inc/tg_shl.mk b/solenv/inc/tg_shl.mk index 71a7ab67195c..a82dd520d716 100644 --- a/solenv/inc/tg_shl.mk +++ b/solenv/inc/tg_shl.mk @@ -217,7 +217,7 @@ $(USE_SHL$(TNR)VERSIONMAP) .ERRREMOVE: $(SHL$(TNR)VERSIONMAP) .ENDIF # "$(GUI)" != "UNX" .IF "$(UNIXVERSIONNAMES)"!="" -.IF "$(OS)"!="MACOSX" && "$(OS)"!="AIX" +.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX" .IF "$(GUI)"=="UNX" SHL$(TNR)SONAME=\"$(SONAME_SWITCH)$(SHL$(TNR)TARGETN:f)\" .ENDIF # "$(GUI)"!="UNX" @@ -496,6 +496,9 @@ $(SHL$(TNR)TARGETN) : \ $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS$(TNR)) $(SHL$(TNR)TARGETN) .ENDIF # "$(SHL$(TNR)NOCHECK)"!="" .ENDIF +.ELIF "$(OS)"=="IOS" + $(COMMAND_ECHO)$(AR) $(LIB$(TNR)FLAGS) $(LIBFLAGS) $@ $(SHL$(TNR)OBJS) $(shell cat /dev/null $(LIB$(TNR)TARGET) $(SHL$(TNR)LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g) + $(COMMAND_ECHO)$(RANLIB) $@ .ELSE # "$(OS)"=="MACOSX" @-$(RM) $(MISC)/$(TARGET).$(@:b)_$(TNR).cmd @echo $(SHL$(TNR)LINKER) $(SHL$(TNR)LINKFLAGS) $(SHL$(TNR)SONAME) $(LINKFLAGSSHL) $(SHL$(TNR)VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL$(TNR)OBJS:s/.obj/.o/) \ @@ -518,7 +521,7 @@ $(SHL$(TNR)TARGETN) : \ .ENDIF # "$(SHL$(TNR)NOCHECK)"!="" .ENDIF # "$(UPDATER)"=="YES" .ENDIF # "$(OS)"=="MACOSX" -.IF "$(UNIXVERSIONNAMES)"!="" +.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS" $(COMMAND_ECHO)$(RM) $(LB)/$(SHL$(TNR)TARGETN:b) $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL$(TNR)TARGETN:f) $(SHL$(TNR)TARGETN:b) .ENDIF # "$(UNIXVERSIONNAMES)"!="" diff --git a/solenv/inc/unx.mk b/solenv/inc/unx.mk index 88361b970be5..b4cd69ff06e5 100644 --- a/solenv/inc/unx.mk +++ b/solenv/inc/unx.mk @@ -182,7 +182,9 @@ SOLARSHAREDBIN=$(SOLARLIBDIR) SONAME_SWITCH*=-h .IF "$(UNIXVERSIONNAMES)"!="" +.IF "$(OS)"!="IOS" DLLPOST!:=$(DLLPOST).$($(UNIXVERSIONNAMES)_MAJOR) +.ENDIF .ENDIF # "$(UNIXVERSIONNAMES)"!="" # enable building/linking KDE-dependent code in both OOo and SO build environment diff --git a/solenv/inc/unxiosr.mk b/solenv/inc/unxiosr.mk index 64fd81f84cc3..13b2ee1ae765 100644 --- a/solenv/inc/unxiosr.mk +++ b/solenv/inc/unxiosr.mk @@ -37,7 +37,8 @@ LIBFLAGS=-r PROCESSOR_DEFINES=-DARM32 -DLLPOST= +DLLPRE=lib +DLLPOST=.a DLLPOSTFIX= # flags to enable build with symbols diff --git a/solenv/inc/win32/jni_md.h b/solenv/inc/win32/jni_md.h index 745a0d4f15db..b7aab253b350 100644 --- a/solenv/inc/win32/jni_md.h +++ b/solenv/inc/win32/jni_md.h @@ -1,3 +1,4 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -37,3 +38,5 @@ typedef __int64 jlong; typedef char jbyte; #endif /* JNI_MD_H_INCLUDED */ + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |