1#************************************************************** 2# 3# Licensed to the Apache Software Foundation (ASF) under one 4# or more contributor license agreements. See the NOTICE file 5# distributed with this work for additional information 6# regarding copyright ownership. The ASF licenses this file 7# to you under the Apache License, Version 2.0 (the 8# "License"); you may not use this file except in compliance 9# with the License. You may obtain a copy of the License at 10# 11# http://www.apache.org/licenses/LICENSE-2.0 12# 13# Unless required by applicable law or agreed to in writing, 14# software distributed under the License is distributed on an 15# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16# KIND, either express or implied. See the License for the 17# specific language governing permissions and limitations 18# under the License. 19# 20#************************************************************** 21 22 23 24PRJ=.. 25PRJNAME=forms 26TARGET=frm 27USE_DEFFILE=TRUE 28 29# --- Settings ---------------------------------- 30 31.INCLUDE : settings.mk 32.INCLUDE: $(PRJ)$/makefile.pmk 33 34# --- Library ----------------------------------- 35# --- frm --------------------------------------- 36LIB1TARGET=$(SLB)$/forms.lib 37LIB1FILES=\ 38 $(SLB)$/common.lib \ 39 $(SLB)$/resource.lib \ 40 $(SLB)$/component.lib \ 41 $(SLB)$/helper.lib \ 42 $(SLB)$/solarcomponent.lib \ 43 $(SLB)$/solarcontrol.lib \ 44 $(SLB)$/richtext.lib \ 45 $(SLB)$/runtime.lib \ 46 $(SLB)$/xforms.lib \ 47 $(SLB)$/xformssubmit.lib \ 48 $(SLB)$/xformsxpath.lib 49 50SHL1TARGET=$(TARGET)$(DLLPOSTFIX) 51 52.IF "$(OS)$(SYSTEM_LIBXML)"=="MACOSXYES" 53# The macOS shared-library link template (tg_shl.mk) always searches 54# $(SOLARLIB) -- which includes /usr/lib -- before any of this makefile's 55# own libs, and the SDK bundles its own older libxml2 under /usr/lib. A 56# plain "-lxml2" (as pulled in by LIBXML2LIB) resolves to that bundled 57# copy instead of the configured --with-system-libxml one, and it is 58# missing symbols (xmlXPathValuePush, xmlXPathValuePop) that xformsxpath 59# needs. Link the intended libxml2 by absolute path so the search order 60# can't shadow it. 61# 62# The path is built from $(LIBXML_PREFIX), not a live `xml2-config` 63# lookup -- see the matching comment in xmlsecurity/util/makefile.mk for 64# why: $(LIBXML_PREFIX) is resolved exactly once by `./configure` 65# (honoring the directory given to --with-system-libxml=DIR) and exported 66# via the generated *Env.Set.sh script, so it can't drift from what 67# configure actually resolved the way a fresh `xml2-config` shell-out at 68# dmake time could. 69# 70# Prefer the dylib when one is actually present at that prefix (it 71# records its own transitive links, e.g. to libz, so nothing extra needs 72# to be added); fall back to the static archive -- which carries no 73# dependency info, so zlib must be linked explicitly to satisfy libxml2's 74# HTTP/gzip symbols (deflate, inflate, gzopen, ...) -- when no dylib 75# exists there. 76.IF "$(shell test -f $(LIBXML_PREFIX)/lib/libxml2.dylib && echo yes)"=="yes" 77FORMS_LIBXML2LIB:=$(LIBXML_PREFIX)/lib/libxml2.dylib 78.ELSE 79FORMS_LIBXML2LIB:=$(LIBXML_PREFIX)/lib/libxml2.a $(ZLIB3RDLIB) 80.ENDIF 81.ELSE 82FORMS_LIBXML2LIB=$(LIBXML2LIB) 83.ENDIF 84 85SHL1STDLIBS= \ 86 $(EDITENGLIB) \ 87 $(SALLIB) \ 88 $(CPPULIB) \ 89 $(CPPUHELPERLIB) \ 90 $(TOOLSLIB) \ 91 $(I18NISOLANGLIB) \ 92 $(VCLLIB) \ 93 $(SVTOOLLIB) \ 94 $(SVLLIB) \ 95 $(TKLIB) \ 96 $(SFX2LIB) \ 97 $(VOSLIB) \ 98 $(UNOTOOLSLIB) \ 99 $(COMPHELPERLIB) \ 100 $(DBTOOLSLIB) \ 101 $(TKLIB) \ 102 $(SVXCORELIB) \ 103 $(UCBHELPERLIB) \ 104 $(FORMS_LIBXML2LIB) \ 105 $(ICUUCLIB) \ 106 $(ICUINLIB) 107 108SHL1LIBS=$(LIB1TARGET) 109SHL1DEPN=$(LIB1TARGET) \ 110 makefile.mk 111 112 113SHL1VERSIONMAP=$(SOLARENV)/src/component.map 114SHL1DEF=$(MISC)$/$(SHL1TARGET).def 115DEF1NAME=$(SHL1TARGET) 116 117# === .res file ========================================================== 118 119RES1FILELIST=\ 120 $(SRS)$/resource.srs \ 121 122RESLIB1NAME=$(TARGET) 123RESLIB1SRSFILES=$(RES1FILELIST) 124 125# --- Targets ---------------------------------- 126 127.INCLUDE : target.mk 128 129# --- Filter-Datei --- 130 131$(MISC)$/$(SHL1TARGET).flt: makefile.mk 132 @echo ------------------------------ 133 @echo __CT >$@ 134 @echo createRegistryInfo >>$@ 135 @echo queryInterface >>$@ 136 @echo queryAggregation >>$@ 137 @echo NavigationToolBar >>$@ 138 @echo ONavigationBar >>$@ 139 140 141ALLTAR : $(MISC)/frm.component 142 143$(MISC)/frm.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ 144 frm.component 145 $(XSLTPROC) --nonet --stringparam uri \ 146 '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ 147 $(SOLARENV)/bin/createcomponent.xslt frm.component 148