1*b1cdbd2cSJim Jagielski#**************************************************************
2*b1cdbd2cSJim Jagielski#
3*b1cdbd2cSJim Jagielski#  Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski#  or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski#  distributed with this work for additional information
6*b1cdbd2cSJim Jagielski#  regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski#  to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski#  "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski#  with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski#
11*b1cdbd2cSJim Jagielski#    http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski#
13*b1cdbd2cSJim Jagielski#  Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski#  software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski#  KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski#  specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski#  under the License.
19*b1cdbd2cSJim Jagielski#
20*b1cdbd2cSJim Jagielski#**************************************************************
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim JagielskiPRJ=.
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim JagielskiPRJNAME=apr-util
25*b1cdbd2cSJim JagielskiTARGET=aprutil
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim Jagielski# --- Settings -----------------------------------------------------
28*b1cdbd2cSJim Jagielski
29*b1cdbd2cSJim Jagielski.INCLUDE :	settings.mk
30*b1cdbd2cSJim Jagielski.INCLUDE :	aprutil_version.mk
31*b1cdbd2cSJim Jagielski
32*b1cdbd2cSJim Jagielski# --- Files --------------------------------------------------------
33*b1cdbd2cSJim Jagielski
34*b1cdbd2cSJim Jagielski.IF "$(SYSTEM_APR_UTIL)"=="YES"
35*b1cdbd2cSJim Jagielski
36*b1cdbd2cSJim Jagielskiall:
37*b1cdbd2cSJim Jagielski	@echo "Using system apr-util.  Does not have to be built."
38*b1cdbd2cSJim Jagielski
39*b1cdbd2cSJim Jagielski.ELSE
40*b1cdbd2cSJim Jagielski
41*b1cdbd2cSJim Jagielski# Assemble the full version number from the parts defined in aprutil_version.mk
42*b1cdbd2cSJim JagielskiAPR_UTIL_VERSION=$(APR_UTIL_MAJOR).$(APR_UTIL_MINOR).$(APR_UTIL_MICRO)
43*b1cdbd2cSJim Jagielski
44*b1cdbd2cSJim Jagielski
45*b1cdbd2cSJim JagielskiTARFILE_NAME=$(PRJNAME)-$(APR_UTIL_VERSION)
46*b1cdbd2cSJim JagielskiTARFILE_MD5=866825c04da827c6e5f53daff5569f42
47*b1cdbd2cSJim Jagielski
48*b1cdbd2cSJim Jagielski.IF "$(OS)"=="WNT"
49*b1cdbd2cSJim Jagielski
50*b1cdbd2cSJim JagielskiADDITIONAL_FILES=Makefile Module_apr-util.mk Library_apr-util.mk Package_inc.mk
51*b1cdbd2cSJim Jagielski
52*b1cdbd2cSJim JagielskiPATCH_FILES= \
53*b1cdbd2cSJim Jagielski    $(TARFILE_NAME).apu.hw.patch \
54*b1cdbd2cSJim Jagielski    $(TARFILE_NAME).makewin32.patch
55*b1cdbd2cSJim Jagielski
56*b1cdbd2cSJim JagielskiCONFIGURE_DIR=
57*b1cdbd2cSJim JagielskiCONFIGURE_ACTION=cp include/apu.hw include/apu.h;							\
58*b1cdbd2cSJim Jagielski	cp include/apr_ldap.hw include/apr_ldap.h;								\
59*b1cdbd2cSJim Jagielski	cp include/private/apu_config.hw include/private/apu_config.h;			\
60*b1cdbd2cSJim Jagielski	cp include/private/apu_select_dbm.hw include/private/apu_select_dbm.h
61*b1cdbd2cSJim JagielskiCONFIGURE_FLAGS=
62*b1cdbd2cSJim Jagielski
63*b1cdbd2cSJim JagielskiBUILD_DIR=$(CONFIGURE_DIR)
64*b1cdbd2cSJim JagielskiBUILD_ACTION=$(GNUMAKE)
65*b1cdbd2cSJim Jagielski#BUILD_FLAGS+= -j$(EXTMAXPROCESS)
66*b1cdbd2cSJim Jagielski
67*b1cdbd2cSJim Jagielski.ELIF "$(GUI)" == "OS2"
68*b1cdbd2cSJim Jagielski
69*b1cdbd2cSJim Jagielski@all:
70*b1cdbd2cSJim Jagielski	@echo "using system apr-util. nothing do do."
71*b1cdbd2cSJim Jagielski
72*b1cdbd2cSJim Jagielski
73*b1cdbd2cSJim Jagielski.ELSE
74*b1cdbd2cSJim Jagielski
75*b1cdbd2cSJim Jagielski
76*b1cdbd2cSJim Jagielski
77*b1cdbd2cSJim JagielskiCONFIGURE_DIR=
78*b1cdbd2cSJim JagielskiCONFIGURE_ACTION=autoconf && .$/configure
79*b1cdbd2cSJim JagielskiCONFIGURE_FLAGS=								\
80*b1cdbd2cSJim Jagielski	--with-apr=$(OUTDIR)/bin/apr-1-config		\
81*b1cdbd2cSJim Jagielski	--prefix=$(OUTDIR)							\
82*b1cdbd2cSJim Jagielski	--includedir=$(OUTDIR)$/inc$/apr-util		\
83*b1cdbd2cSJim Jagielski	--with-iconv="no"
84*b1cdbd2cSJim Jagielski
85*b1cdbd2cSJim Jagielski
86*b1cdbd2cSJim Jagielski# Use our own expat on the Mac.  Maybe we should do this on Linux, too? Yes!
87*b1cdbd2cSJim Jagielski.IF "$(OS)" == "MACOSX" || ("$(OS)" == "LINUX" && "$(SYSTEM_EXPAT)"!="YES")
88*b1cdbd2cSJim Jagielski
89*b1cdbd2cSJim Jagielskiexpat_CPPFLAGS=-I$(SOLARINCDIR)$/external
90*b1cdbd2cSJim Jagielskiexpat_LDFLAGS+=-L$(SOLARLIBDIR)
91*b1cdbd2cSJim JagielskiCONFIGURE_FLAGS+= SOLARINCDIR=$(SOLARINCDIR) SOLARLIBDIR=$(SOLARLIBDIR) \
92*b1cdbd2cSJim Jagielski	CPPFLAGS=$(expat_CPPFLAGS) LDFLAGS=$(expat_LDFLAGS)
93*b1cdbd2cSJim Jagielski
94*b1cdbd2cSJim Jagielski# The non-standard names of our expat libraries (yes, plural) make
95*b1cdbd2cSJim Jagielski# a special handling in apr-utils configure necessary.
96*b1cdbd2cSJim JagielskiPATCH_FILES+= $(TARFILE_NAME).expat.patch
97*b1cdbd2cSJim Jagielski
98*b1cdbd2cSJim Jagielski.ENDIF
99*b1cdbd2cSJim Jagielski
100*b1cdbd2cSJim Jagielski
101*b1cdbd2cSJim JagielskiBUILD_DIR=$(CONFIGURE_DIR)
102*b1cdbd2cSJim JagielskiBUILD_ACTION=$(GNUMAKE)
103*b1cdbd2cSJim JagielskiBUILD_FLAGS+= -j$(EXTMAXPROCESS)
104*b1cdbd2cSJim Jagielski
105*b1cdbd2cSJim Jagielski# Make apu-1-config believe that apr-util has been installed.
106*b1cdbd2cSJim JagielskiINSTALL_ACTION=if [ -f apu-1-config.orig ]; then mv -f apu-1-config.orig apu-1-config; fi;	\
107*b1cdbd2cSJim Jagielski	cp apu-1-config apu-1-config.orig;							\
108*b1cdbd2cSJim Jagielski	sed -e "s/^location=source/location=installed/;s/^\(installbuilddir=.*\)\/.*/\\1\/lib\/apr-util\"/" apu-1-config > apu-1-config.installed;								\
109*b1cdbd2cSJim Jagielski	mv -f apu-1-config.installed apu-1-config;	\
110*b1cdbd2cSJim Jagielski	chmod +x apu-1-config
111*b1cdbd2cSJim Jagielski
112*b1cdbd2cSJim JagielskiOUT2INC+=include$/apr*.h
113*b1cdbd2cSJim JagielskiOUT2INC+=include$/apu*.h
114*b1cdbd2cSJim JagielskiOUT2INC_SUBDIR=apr-util
115*b1cdbd2cSJim Jagielski
116*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX"
117*b1cdbd2cSJim JagielskiOUT2LIB+=.libs/libaprutil-1.*dylib
118*b1cdbd2cSJim Jagielski.ELSE
119*b1cdbd2cSJim JagielskiOUT2LIB=.libs/libaprutil-1.so*
120*b1cdbd2cSJim Jagielski.ENDIF
121*b1cdbd2cSJim JagielskiOUT2BIN=apu-1-config
122*b1cdbd2cSJim Jagielski
123*b1cdbd2cSJim Jagielski.ENDIF
124*b1cdbd2cSJim Jagielski
125*b1cdbd2cSJim Jagielski# --- Targets ------------------------------------------------------
126*b1cdbd2cSJim Jagielski
127*b1cdbd2cSJim Jagielski.INCLUDE : set_ext.mk
128*b1cdbd2cSJim Jagielski.INCLUDE : target.mk
129*b1cdbd2cSJim Jagielski.INCLUDE : tg_ext.mk
130*b1cdbd2cSJim Jagielski
131*b1cdbd2cSJim Jagielski.ENDIF
132