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
28PRJ=..$/..$/..
29
30PRJNAME = xmlsecurity
31TARGET = xs_nss
32
33ENABLE_EXCEPTIONS = TRUE
34
35# --- Settings -----------------------------------------------------
36
37.INCLUDE :  settings.mk
38.INCLUDE :	$(PRJ)$/util$/target.pmk
39
40.IF "$(SYSTEM_LIBXML)" == "YES"
41CFLAGS+=-DSYSTEM_LIBXML $(LIBXML_CFLAGS)
42.ENDIF
43
44.IF "$(WITH_MOZILLA)" == "NO" || "$(ENABLE_NSS_MODULE)"!="YES"
45.IF "$(SYSTEM_MOZILLA)" != "YES"
46@all:
47	@echo "No mozilla -> no nss -> no libxmlsec -> no xmlsecurity/nss"
48.ENDIF
49.ENDIF
50
51.IF "$(SYSTEM_MOZILLA)" != "YES"
52MOZ_INC = $(SOLARVERSION)$/$(INPATH)$/inc$(UPDMINOREXT)$/mozilla
53NSS_INC = $(MOZ_INC)$/nss
54NSPR_INC = $(MOZ_INC)$/nspr
55.ELSE
56# MOZ_INC already defined from environment
57NSS_INC = $(MOZ_NSS_CFLAGS)
58NSPR_INC = $(MOZ_INC)$/nspr
59.ENDIF
60
61.IF "$(GUI)"=="UNX"
62.IF "$(COMNAME)"=="sunpro5"
63CFLAGS += -features=tmplife
64#This flag is needed to build mozilla 1.7 code
65.ENDIF		# "$(COMNAME)"=="sunpro5"
66.ENDIF
67
68.IF "$(GUI)" == "WNT"
69.IF "$(DBG_LEVEL)" == "0"
70INCPRE += \
71-I$(MOZ_INC)$/profile \
72-I$(MOZ_INC)$/string \
73-I$(MOZ_INC)$/embed_base
74CFLAGS +=   -GR- -W3 -Gy -MD -UDEBUG
75.ELSE
76INCPRE += \
77-I$(MOZ_INC)$/profile \
78-I$(MOZ_INC)$/string \
79-I$(MOZ_INC)$/embed_base
80CFLAGS += -Zi -GR- -W3 -Gy -MDd -UNDEBUG
81.ENDIF
82.ENDIF
83.IF "$(GUI)" == "UNX"
84INCPOST += \
85$(MOZ_INC)$/profile \
86-I$(MOZ_INC)$/string \
87-I$(MOZ_INC)$/embed_base
88#.IF "$(OS)" == "LINUX"
89#CFLAGS +=   -fPIC -g
90#CFLAGSCXX += \
91#            -fno-rtti -Wall -Wconversion -Wpointer-arith \
92#            -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth \
93#            -Wno-long-long -pthread
94#CDEFS     += -DTRACING
95#.ELIF "$(OS)" == "NETBSD"
96#CFLAGS +=   -fPIC
97#CFLAGSCXX += \
98#            -fno-rtti -Wall -Wconversion -Wpointer-arith \
99#            -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth \
100#            -Wno-long-long
101#CDEFS     += -DTRACING
102#.ENDIF
103.ENDIF
104
105.IF "$(CRYPTO_ENGINE)" == "nss"
106CDEFS += -DXMLSEC_CRYPTO_NSS
107.ENDIF
108
109CDEFS += -DXMLSEC_NO_XSLT
110
111# --- Files --------------------------------------------------------
112
113SOLARINC += \
114 -I$(MOZ_INC) \
115-I$(NSPR_INC) \
116-I$(PRJ)$/source$/xmlsec
117
118.IF "$(SYSTEM_MOZILLA)" == "YES"
119SOLARINC += -DSYSTEM_MOZILLA $(NSS_INC)
120.ELSE
121SOLARINC += -I$(NSS_INC)
122.ENDIF
123
124SLOFILES = \
125	$(SLO)$/nssinitializer.obj \
126	$(SLO)$/digestcontext.obj \
127	$(SLO)$/ciphercontext.obj \
128	$(SLO)$/xsec_nss.obj
129
130.IF "$(CRYPTO_ENGINE)" == "nss"
131SLOFILES += \
132	$(SLO)$/securityenvironment_nssimpl.obj \
133	$(SLO)$/seinitializer_nssimpl.obj \
134	$(SLO)$/xmlencryption_nssimpl.obj \
135	$(SLO)$/xmlsecuritycontext_nssimpl.obj \
136	$(SLO)$/xmlsignature_nssimpl.obj \
137	$(SLO)$/x509certificate_nssimpl.obj \
138	$(SLO)$/sanextension_nssimpl.obj \
139    $(SLO)$/secerror.obj
140
141.ENDIF
142
143# --- Targets ------------------------------------------------------
144
145.INCLUDE :  target.mk
146