Lines 1-185
Link Here
|
1 |
#************************************************************************* |
|
|
2 |
# |
3 |
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 |
# |
5 |
# Copyright 2000, 2010 Oracle and/or its affiliates. |
6 |
# |
7 |
# OpenOffice.org - a multi-platform office productivity suite |
8 |
# |
9 |
# This file is part of OpenOffice.org. |
10 |
# |
11 |
# OpenOffice.org is free software: you can redistribute it and/or modify |
12 |
# it under the terms of the GNU Lesser General Public License version 3 |
13 |
# only, as published by the Free Software Foundation. |
14 |
# |
15 |
# OpenOffice.org is distributed in the hope that it will be useful, |
16 |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
17 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
18 |
# GNU Lesser General Public License version 3 for more details |
19 |
# (a copy is included in the LICENSE file that accompanied this code). |
20 |
# |
21 |
# You should have received a copy of the GNU Lesser General Public License |
22 |
# version 3 along with OpenOffice.org. If not, see |
23 |
# <http://www.openoffice.org/license.html> |
24 |
# for a copy of the LGPLv3 License. |
25 |
# |
26 |
#************************************************************************* |
27 |
|
28 |
PRJ=. |
29 |
|
30 |
PRJNAME=so_berkeleydb |
31 |
TARGET=so_berkeleydb |
32 |
|
33 |
# --- Settings ----------------------------------------------------- |
34 |
|
35 |
.INCLUDE : settings.mk |
36 |
|
37 |
.IF "$(SYSTEM_DB)" == "YES" |
38 |
all: |
39 |
@echo "An already available installation of db should exist on your system." |
40 |
@echo "Therefore the version provided here does not need to be built in addition." |
41 |
.ENDIF |
42 |
|
43 |
# --- Files -------------------------------------------------------- |
44 |
|
45 |
TARFILE_NAME=db-4.7.25.NC-custom |
46 |
TARFILE_MD5=d70951c80dabecc2892c919ff5d07172 |
47 |
TARFILE_ROOTDIR=db-4.7.25.NC |
48 |
|
49 |
ADDITIONAL_FILES= \ |
50 |
makefile.mk btree$/makefile.mk clib$/makefile.mk common$/makefile.mk \ |
51 |
cxx$/makefile.mk db$/makefile.mk dbm$/makefile.mk dbreg$/makefile.mk \ |
52 |
env$/makefile.mk fileops$/makefile.mk hash$/makefile.mk hmac$/makefile.mk \ |
53 |
hsearch$/makefile.mk lock$/makefile.mk log$/makefile.mk mp$/makefile.mk \ |
54 |
mutex$/makefile.mk os$/makefile.mk os_windows$/makefile.mk \ |
55 |
qam$/makefile.mk rep$/makefile.mk repmgr$/makefile.mk \ |
56 |
sequence$/makefile.mk txn$/makefile.mk xa$/makefile.mk \ |
57 |
db_4_7_gcc4.map |
58 |
|
59 |
# not needed for win32. comment out when causing problems... |
60 |
.IF "$(GUI)$(COM)"=="WNTGCC" |
61 |
PATCH_FILES=db-4.7.25-mingw.patch |
62 |
.ELSE |
63 |
PATCH_FILES=db-4.7.25.patch |
64 |
.ENDIF |
65 |
|
66 |
# clean compiler flags |
67 |
CFLAGS:= |
68 |
CXXFLAGS:= |
69 |
|
70 |
# disable aliasing for all GCC platforms, at least GCC 4.x needs it if |
71 |
# optimization level >= 2 |
72 |
.IF "$(COM)"=="GCC" |
73 |
CFLAGS:=-fno-strict-aliasing $(EXTRA_CFLAGS) |
74 |
CXXFLAGS:=-fno-strict-aliasing $(EXTRA_CFLAGS) |
75 |
.ENDIF |
76 |
|
77 |
.IF "$(GUI)"=="UNX" |
78 |
.IF "$(OS)$(COM)"=="LINUXGCC" |
79 |
LDFLAGS:=-Wl,-rpath,'$$$$ORIGIN' |
80 |
.EXPORT: LDFLAGS |
81 |
#The current dir when linking is unxlngi6.pro/misc/build/db-4.2.52.NC/out |
82 |
# the map file is in unxlngi6.pro/misc/build/db-4.2.52.NC |
83 |
LDFLAGSVERSION:= -Wl,--version-script=../db_4_7_gcc4.map |
84 |
.EXPORT: LDFLAGSVERSION |
85 |
.ENDIF # "$(OS)$(COM)"=="LINUXGCC" |
86 |
.IF "$(OS)$(COM)"=="SOLARISC52" |
87 |
#.IF "$(BUILD_TOOLS)$/cc"=="$(shell +-which cc)" |
88 |
#CC:=$(COMPATH)$/bin$/cc |
89 |
#CXX:=$(COMPATH)$/bin$/CC |
90 |
#.ENDIF # "$(BUILD_TOOLS)$/cc"=="$(shell +-which cc)" |
91 |
LDFLAGS:=$(ARCH_FLAGS) -R\''$$$$ORIGIN'\' |
92 |
.EXPORT: LDFLAGS |
93 |
.ENDIF # "$(OS)$(COM)"=="SOLARISC52" |
94 |
|
95 |
CONFIGURE_DIR=out |
96 |
#relative to CONFIGURE_DIR |
97 |
CONFIGURE_ACTION= \ |
98 |
..$/dist$/configure |
99 |
CONFIGURE_FLAGS=--disable-cxx --enable-dynamic --enable-shared --enable-compat185 CC='$(CC) $(SOLARLIB)' |
100 |
.IF "$(OS)"==FREEBSD && "$(COM)$(CPU)"=="GCCX" |
101 |
CONFIGURE_FLAGS+=--with-mutex=x86/gcc-assembly |
102 |
.ENDIF |
103 |
.IF "$(OS)"=="MACOSX" |
104 |
CONFIGURE_FLAGS+=CPPFLAGS="$(EXTRA_CDEFS)" |
105 |
.ENDIF |
106 |
# just pass ARCH_FLAGS to native build |
107 |
CFLAGS+:=$(ARCH_FLAGS) |
108 |
CXXFLAGS+:=$(ARCH_FLAGS) |
109 |
.EXPORT : CFLAGS CXXFLAGS |
110 |
|
111 |
BUILD_DIR=$(CONFIGURE_DIR) |
112 |
BUILD_DIR_OUT=$(CONFIGURE_DIR) |
113 |
BUILD_ACTION=$(GNUMAKE) -j$(EXTMAXPROCESS) |
114 |
|
115 |
OUT2LIB=$(BUILD_DIR)$/.libs$/libdb*$(DLLPOST) |
116 |
OUT2INC= \ |
117 |
$(BUILD_DIR)$/db.h |
118 |
|
119 |
.ENDIF # "$(GUI)"=="UNX" |
120 |
|
121 |
.IF "$(GUI)"=="WNT" |
122 |
.IF "$(COM)"=="GCC" |
123 |
CONFIGURE_DIR=out |
124 |
#relative to CONFIGURE_DIR |
125 |
# TODO needs clean up |
126 |
CFLAGS+=-nostdinc |
127 |
db_CC=$(CC) -mthreads |
128 |
db_CXX=$(CXX) -mthreads |
129 |
.IF "$(MINGW_SHARED_GCCLIB)"=="YES" |
130 |
db_CC+=-shared-libgcc |
131 |
db_CXX+=-shared-libgcc |
132 |
.ENDIF |
133 |
db_LDFLAGS=-no-undefined -L$(SOLARVER)/$(INPATH)/lib -L$(SOLARVER)/$(INPATH)/bin |
134 |
.IF "$(USE_MINGW)"=="cygwin" |
135 |
db_LDFLAGS+=-L$(COMPATH)/lib/mingw -L$(COMPATH)/lib/w32api |
136 |
.ENDIF |
137 |
db_LDFLAGS+=-L$(COMPATH)/lib -L$(MINGW_CLIB_DIR) |
138 |
db_LIBS= |
139 |
.IF "$(MINGW_SHARED_GXXLIB)"=="YES" |
140 |
CFLAGS+=-D_GLIBCXX_DLL |
141 |
db_LIBS+=$(MINGW_SHARED_LIBSTDCPP) |
142 |
.ENDIF |
143 |
db_LIBXSO_LIBS=$(LIBSTLPORT) $(db_LIBS) |
144 |
.IF "$(MINGW_SHARED_GCCLIB)"=="YES" |
145 |
db_LIBXSO_LIBS+=-lgcc_s |
146 |
.ENDIF |
147 |
CONFIGURE_ACTION=..$/dist$/configure |
148 |
CONFIGURE_FLAGS=--disable-cxx --enable-dynamic --enable-shared --build=i586-pc-mingw32 --host=i586-pc-mingw32 --enable-mingw CC="$(db_CC)" CXX="$(db_CXX)" LN_S=ln NM="$(WRAPCMD) nm" OBJDUMP="$(WRAPCMD) objdump" JAVA="$(WRAPCMD) -env java" JAVAC="$(WRAPCMD) -env javac" CFLAGS="$(CFLAGS)" CPPFLAGS="$(INCLUDE)" LDFLAGS="$(db_LDFLAGS)" LIBS="$(db_LIBS)" LIBSO_LIBS="$(db_LIBS)" LIBJSO_LIBS="$(db_LIBS)" LIBXSO_LIBS="$(db_LIBXSO_LIBS)" |
149 |
|
150 |
BUILD_DIR=$(CONFIGURE_DIR) |
151 |
BUILD_DIR_OUT=$(CONFIGURE_DIR) |
152 |
BUILD_ACTION=make |
153 |
|
154 |
OUT2LIB=$(BUILD_DIR)$/.libs$/libdb47.dll.a |
155 |
OUT2BIN=$(BUILD_DIR)$/.libs$/libdb47.dll |
156 |
|
157 |
OUT2INC= \ |
158 |
$(BUILD_DIR)$/db.h |
159 |
.IF "$(GUI)$(COM)"=="WNTGCC" |
160 |
.EXPORT : PWD |
161 |
.ENDIF |
162 |
|
163 |
.ELSE |
164 |
# make use of stlport headerfiles |
165 |
EXT_USE_STLPORT=TRUE |
166 |
|
167 |
BUILD_DIR= |
168 |
BUILD_ACTION=dmake |
169 |
|
170 |
BUILD_DIR_OUT=build_windows |
171 |
#OUT2LIB= \ |
172 |
# $(BUILD_DIR_OUT)$/Release$/libdb42.lib |
173 |
#OUT2BIN=$(BUILD_DIR_OUT)$/Release$/libdb42.dll |
174 |
OUT2INC= \ |
175 |
$(BUILD_DIR_OUT)$/db.h |
176 |
.ENDIF |
177 |
.ENDIF # "$(GUI)"=="WNT" |
178 |
|
179 |
# --- Targets ------------------------------------------------------ |
180 |
|
181 |
.INCLUDE : set_ext.mk |
182 |
.INCLUDE : target.mk |
183 |
.INCLUDE : tg_ext.mk |
184 |
|
185 |
|