office-gobmx/sal/util/makefile.mk
Tor Lillqvist 5510127e89 Android code refactorig and hacking
Sorry for the large unstructured commit. But hey, the Android code is
experimental so far.

Extract the native lo-bootstrap code into a fairly normal library
built in sal. (Previously it was the JNI part of the "Bootstrap" app.)
Just linkink normally to liblo-bootstrap from C++ code that uses it
works fine, no need to do a dlsym lookup.

Bootstrap is still a subclass of NativeActivity and can thus still be
used as an "app" (to start unit tests, or whatever), but can also be
used from some other app's Java code to just get access to the
lo-bootstrap native methods.

Introduce a new top-level "module", android, for Bootstrap and the
experiments with DocumentLoader.

Note that the experimental DocumentLoader app still crashes. It can't
create the com.sun.star.frame.Desktop instance.

I spent lots of time debugging in the painfully inadequate
ndk-gdb. (Even the newer gdb build from the "mingw-and-ndk" project is
quite crappy in many ways.) I should really experiment with
corresponding code on a normal platform first before even trying on
Android. Basically, I think that if I just can get the concept of Java
code that instantiates and uses LO components *in-process* working on
a normal desktop platform, it should work on Android, too.
2011-11-30 21:52:52 +02:00

178 lines
4.4 KiB
Makefile

#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License version 3
# only, as published by the Free Software Foundation.
#
# OpenOffice.org is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License version 3 for more details
# (a copy is included in the LICENSE file that accompanied this code).
#
# You should have received a copy of the GNU Lesser General Public License
# version 3 along with OpenOffice.org. If not, see
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
#*************************************************************************
PRJ=..
PRJNAME=sal
TARGET=sal
NO_BSYMBOLIC=TRUE
NO_DEFAULT_STL=TRUE
USE_LDUMP2=TRUE
USE_DEFFILE=TRUE
.IF "$(GUI)"=="UNX"
TARGETTYPE=CUI
.ENDIF # UNX
UNIXVERSIONNAMES=UDK
# --- Settings -----------------------------------------------------
.INCLUDE : settings.mk
CFLAGS+= $(LFS_CFLAGS)
CXXFLAGS+= $(LFS_CFLAGS)
.IF "$(depend)" == ""
# --- Files --------------------------------------------------------
# disable check for PIC code as it would complain about
# hand coded assembler
CHECKFORPIC=
.IF "$(header)" == ""
LIB1TARGET=$(SLB)$/$(TARGET).lib
LIB1FILES= \
$(SLB)$/oslall.lib \
$(SLB)$/cpposl.lib \
$(SLB)$/cpprtl.lib \
$(SLB)$/textenc.lib
.IF "$(COM)" == "MSC"
SHL1TARGET= $(TARGET)
SHL1IMPLIB= i$(TARGET)
.ELSE
SHL1TARGET= uno_$(TARGET)
SHL1IMPLIB= uno_$(TARGET)
.ENDIF
SHL1VERSIONMAP= $(TARGET).map
SHL1RPATH=URELIB
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
UWINAPILIB= -luwinapi
.ELSE
UWINAPILIB= $(LB)$/uwinapi.lib
.ENDIF
SHL1STDLIBS= \
$(UWINAPILIB)\
$(ADVAPI32LIB)\
$(WS2_32LIB)\
$(MPRLIB)\
$(SHELL32LIB)\
$(COMDLG32LIB)\
$(USER32LIB)\
$(OLE32LIB)
.IF "$(COM)"=="GCC"
MINGWSSTDOBJ=
MINGWSSTDENDOBJ=
.ENDIF
.ENDIF # WNT
.IF "$(GUI)"=="UNX"
.IF "$(OS)"=="SOLARIS"
# libposix4.so (SunOS 5.6) <-> librt.so (SunOS >= 5.7)
SHL1STDLIBS= -Bdynamic -ldl -lpthread -lposix4 -lsocket -lnsl
.IF "$(COM)" == "C50"
SHL1STDLIBS+= -z allextract -staticlib=Crun -z defaultextract
.ENDIF # C50
.ENDIF # SOLARIS
.ENDIF # UNX
.IF "$(OS)"=="MACOSX"
SHL1STDLIBS+=-framework CoreFoundation -framework Carbon
.ENDIF
.IF "$(OS)" == "ANDROID"
SHL1STDLIBS+=-llo-bootstrap
.ENDIF
SHL1LIBS+=$(SLB)$/$(TARGET).lib
.IF "$(linkinc)" != ""
SHL11FILE=$(MISC)$/sal.slo
.ELSE
.IF "$(GUI)"=="UNX"
SHL1OBJS=
.ELSE
.IF "$(GUI)$(COM)"!="WNTGCC"
SHL1OBJS= \
$(SLO)$/dllentry.obj
.ENDIF # WNTGCC
.ENDIF # UNX
.ENDIF # lincinc
SHL1DEPN=
SHL1DEF= $(MISC)$/$(SHL1TARGET).def
DEF1NAME= $(SHL1TARGET)
# --- Coverage -----------------------------------------------------
# LLA: 20040304 The follows lines are an additional which is only need if we run
# coverage tests. For normal test runs this feature is not used.
# For more information about coverage tests see:
# http://gcc.gnu.org/onlinedocs/gcc-3.0/gcc_8.html
#
# Why this additional?
# Anybody has decide to link sal with g++ instead of gcc.
#
.IF "$(TESTCOVERAGE)"!=""
.IF "$(GUI)"=="UNX"
.IF "$(COM)"=="GCC"
.IF "$(OS)"=="LINUX"
SHL1STDLIBS+=-lgcc
.ENDIF
.ENDIF
.ENDIF
.ENDIF
# --- Targets ------------------------------------------------------
.ENDIF # $(header) != ""
.ENDIF # $(depend) != ""
.INCLUDE : target.mk
.IF "$(SHL1TARGETN)" != ""
$(SHL1TARGETN) : $(OUT)$/inc$/udkversion.h
.ENDIF # "$(SHL1TARGETN)" != ""
$(OUT)$/inc$/udkversion.h:
echo '#ifndef _SAL_UDKVERSION_H_' > $@
echo '#define _SAL_UDKVERSION_H_' >> $@
echo '' >> $@
echo '#define SAL_UDK_MAJOR "$(UDK_MAJOR)"' >> $@
echo '#define SAL_UDK_MINOR "$(UDK_MINOR)"' >> $@
echo '#define SAL_UDK_MICRO "$(UDK_MICRO)"' >> $@
echo '' >> $@
echo '#endif' >> $@