2346ef5cc1
2007/04/02 17:36:20 hr 1.36.2.1: #i75913#: add -fno-strict-aliasing for all GCC platforms. Build in helpcontent2 crashes without it if berkeleydb is build with GCC 4.x and optimization level >=2
191 lines
5.9 KiB
Makefile
191 lines
5.9 KiB
Makefile
#*************************************************************************
|
|
#
|
|
# OpenOffice.org - a multi-platform office productivity suite
|
|
#
|
|
# $RCSfile: makefile.mk,v $
|
|
#
|
|
# $Revision: 1.37 $
|
|
#
|
|
# last change: $Author: rt $ $Date: 2007-04-04 07:58:48 $
|
|
#
|
|
# The Contents of this file are made available subject to
|
|
# the terms of GNU Lesser General Public License Version 2.1.
|
|
#
|
|
#
|
|
# GNU Lesser General Public License Version 2.1
|
|
# =============================================
|
|
# Copyright 2005 by Sun Microsystems, Inc.
|
|
# 901 San Antonio Road, Palo Alto, CA 94303, USA
|
|
#
|
|
# This library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License version 2.1, as published by the Free Software Foundation.
|
|
#
|
|
# This library 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 for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with this library; if not, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
# MA 02111-1307 USA
|
|
#
|
|
#*************************************************************************
|
|
|
|
PRJ=.
|
|
|
|
PRJNAME=so_berkeleydb
|
|
TARGET=so_berkeleydb
|
|
|
|
# --- Settings -----------------------------------------------------
|
|
|
|
.INCLUDE : settings.mk
|
|
|
|
.IF "$(SYSTEM_DB)" == "YES"
|
|
all:
|
|
@echo "An already available installation of db should exist on your system."
|
|
@echo "Therefore the version provided here does not need to be built in addition."
|
|
.ENDIF
|
|
|
|
# --- Files --------------------------------------------------------
|
|
|
|
TARFILE_NAME=db-4.2.52.NC
|
|
ADDITIONAL_FILES= \
|
|
makefile.mk btree$/makefile.mk clib$/makefile.mk common$/makefile.mk \
|
|
cxx$/makefile.mk db$/makefile.mk dbm$/makefile.mk dbreg$/makefile.mk \
|
|
db_printlog$/makefile.mk env$/makefile.mk fileops$/makefile.mk hash$/makefile.mk \
|
|
hmac$/makefile.mk hsearch$/makefile.mk libdb_java$/makefile.mk lock$/makefile.mk \
|
|
log$/makefile.mk mp$/makefile.mk mutex$/makefile.mk os$/makefile.mk \
|
|
os_win32$/makefile.mk qam$/makefile.mk rep$/makefile.mk txn$/makefile.mk \
|
|
xa$/makefile.mk libdb42.dxp libdb_java42.dxp
|
|
|
|
|
|
|
|
# not needed for win32. comment out when causing problems...
|
|
.IF "$(GUI)$(COM)"=="WNTGCC"
|
|
PATCH_FILE_NAME=db-4.2.52-mingw.patch
|
|
.ELSE
|
|
PATCH_FILE_NAME=db-4.2.52.patch
|
|
.ENDIF
|
|
|
|
# disable aliasing for all GCC platforms, at least GCC 4.x needs it if
|
|
# optimization level >= 2
|
|
.IF "$(COM)"=="GCC"
|
|
CFLAGS:=-fno-strict-aliasing
|
|
CXXFLAGS:=-fno-strict-aliasing
|
|
.ENDIF
|
|
|
|
.IF "$(GUI)"=="UNX"
|
|
.IF "$(OS)$(COM)"=="LINUXGCC"
|
|
LDFLAGS:=-Wl,-rpath,'$$$$ORIGIN' -Wl,-z,noexecstack
|
|
.EXPORT: LDFLAGS
|
|
.ENDIF # "$(OS)$(COM)"=="LINUXGCC"
|
|
.IF "$(OS)$(COM)"=="SOLARISC52"
|
|
#.IF "$(BUILD_TOOLS)$/cc"=="$(shell +-which cc)"
|
|
#CC:=$(COMPATH)$/bin$/cc
|
|
#CXX:=$(COMPATH)$/bin$/CC
|
|
#.ENDIF # "$(BUILD_TOOLS)$/cc"=="$(shell +-which cc)"
|
|
LDFLAGS:=-R\''$$$$ORIGIN'\'
|
|
.EXPORT: LDFLAGS
|
|
.ENDIF # "$(OS)$(COM)"=="SOLARISC52"
|
|
# just pass ARCH_FLAGS to native build
|
|
CFLAGS+:=$(ARCH_FLAGS)
|
|
CXXFLAGS+:=$(ARCH_FLAGS)
|
|
.EXPORT : CFLAGS CXXFLAGS
|
|
CONFIGURE_DIR=out
|
|
#relative to CONFIGURE_DIR
|
|
CONFIGURE_ACTION= \
|
|
..$/dist$/configure
|
|
CONFIGURE_FLAGS=--disable-cxx --enable-dynamic --enable-shared --enable-compat185
|
|
.IF "$(SOLAR_JAVA)"!=""
|
|
CONFIGURE_FLAGS+=--enable-java
|
|
.ENDIF
|
|
|
|
BUILD_DIR=$(CONFIGURE_DIR)
|
|
BUILD_DIR_OUT=$(CONFIGURE_DIR)
|
|
.IF "$(OS)"=="IRIX"
|
|
CONFIGURE_ACTION= $(CONFIG_SHELL) ..$/dist$/configure
|
|
BUILD_ACTION=gmake
|
|
.ELSE
|
|
BUILD_ACTION=make
|
|
.ENDIF
|
|
|
|
OUT2LIB=$(BUILD_DIR)$/.libs$/libdb*$(DLLPOST)
|
|
.IF "$(OS)"=="MACOSX"
|
|
OUT2LIB+=$(BUILD_DIR)$/.libs$/libdb_java*jnilib
|
|
.ENDIF # "$(OS)"=="MACOSX"
|
|
|
|
.IF "$(SOLAR_JAVA)"!=""
|
|
OUT2BIN=$(BUILD_DIR)$/db.jar
|
|
OUT2CLASS=$(BUILD_DIR)$/db.jar
|
|
.ENDIF
|
|
|
|
OUT2INC= \
|
|
$(BUILD_DIR)$/db.h
|
|
|
|
.ENDIF # "$(GUI)"=="UNX"
|
|
|
|
.IF "$(GUI)"=="WNT"
|
|
.IF "$(COM)"=="GCC"
|
|
CONFIGURE_DIR=out
|
|
#relative to CONFIGURE_DIR
|
|
# TODO needs clean up
|
|
CFLAGS+=-nostdinc -D_MT
|
|
CONFIGURE_ACTION=..$/dist$/configure
|
|
CONFIGURE_FLAGS=--enable-cxx --enable-dynamic --enable-shared --build=i586-pc-mingw32 --host=i586-pc-mingw32 --enable-mingw LN_S=ln NM="$(WRAPCMD) nm" OBJDUMP="$(WRAPCMD) objdump" JAVA="$(WRAPCMD) -env java" JAVAC="$(WRAPCMD) -env javac" CFLAGS="$(CFLAGS)" CPPFLAGS="$(INCLUDE)" LIBS="-lmingwthrd" LIBSO_LIBS="-lmingwthrd" LIBJSO_LIBS="-lmingwthrd" LIBXSO_LIBS="-lmingwthrd $(LIBSTLPORT)"
|
|
.IF "$(USE_MINGW)"=="cygwin"
|
|
CONFIGURE_FLAGS+=LDFLAGS="-no-undefined -L$(SOLARVER)/$(UPD)/$(INPATH)/lib -L$(SOLARVER)/$(UPD)/$(INPATH)/bin -L$(COMPATH)/lib/mingw -L$(COMPATH)/lib/w32api -L$(COMPATH)/lib"
|
|
.ELSE
|
|
CONFIGURE_FLAGS+=LDFLAGS="-no-undefined -L$(SOLARVER)/$(UPD)/$(INPATH)/lib -L$(SOLARVER)/$(UPD)/$(INPATH)/bin -L$(COMPATH)/lib"
|
|
.ENDIF
|
|
.IF "$(SOLAR_JAVA)"!=""
|
|
CONFIGURE_FLAGS+=--enable-java
|
|
.ENDIF
|
|
|
|
BUILD_DIR=$(CONFIGURE_DIR)
|
|
BUILD_DIR_OUT=$(CONFIGURE_DIR)
|
|
BUILD_ACTION=make
|
|
|
|
OUT2LIB=$(BUILD_DIR)$/.libs$/libdb*42.a
|
|
OUT2BIN=$(BUILD_DIR)$/.libs$/libdb*42.dll
|
|
.IF "$(SOLAR_JAVA)"!=""
|
|
OUT2BIN+=$(BUILD_DIR)$/db.jar
|
|
OUT2CLASS=$(BUILD_DIR)$/db.jar
|
|
.ENDIF
|
|
|
|
OUT2INC= \
|
|
$(BUILD_DIR)$/db.h
|
|
|
|
.ELSE
|
|
# make use of stlport headerfiles
|
|
EXT_USE_STLPORT=TRUE
|
|
|
|
.IF "$(USE_SHELL)"!="4nt"
|
|
BUILD_ACTION_SEP=;
|
|
.ELSE # "$(USE_SHELL)"!="4nt"
|
|
BUILD_ACTION_SEP=^
|
|
.ENDIF # "$(USE_SHELL)"!="4nt"
|
|
BUILD_DIR=
|
|
BUILD_ACTION=dmake
|
|
|
|
BUILD_DIR_OUT=build_win32
|
|
#OUT2LIB= \
|
|
# $(BUILD_DIR_OUT)$/Release$/libdb_java42.lib \
|
|
# $(BUILD_DIR_OUT)$/Release$/libdb42.lib
|
|
#OUT2BIN=$(BUILD_DIR_OUT)$/Release$/db.jar \
|
|
# $(BUILD_DIR_OUT)$/Release$/libdb_java42.dll \
|
|
# $(BUILD_DIR_OUT)$/Release$/libdb42.dll
|
|
#OUT2CLASS=$(BUILD_DIR_OUT)$/Release$/db.jar
|
|
OUT2INC= \
|
|
$(BUILD_DIR_OUT)$/db.h
|
|
.ENDIF
|
|
.ENDIF # "$(GUI)"=="WNT"
|
|
|
|
# --- Targets ------------------------------------------------------
|
|
|
|
.INCLUDE : set_ext.mk
|
|
.INCLUDE : target.mk
|
|
.INCLUDE : tg_ext.mk
|
|
|
|
|