2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"). You may
4 # only use this file in accordance with the terms of the CDDL.
6 # A full copy of the text of the CDDL should have accompanied this
7 # source. A copy of the CDDL is also available via the Internet at
8 # http://www.illumos.org/license/CDDL.
12 # Copyright 2019 Michal Nowak
16 USE_PARALLEL_BUILD
= yes
17 include ..
/..
/..
/make-rules
/shared-macros.mk
20 COMPONENT_MAJOR_VERSION
= 2.8
21 COMPONENT_VERSION
= $(COMPONENT_MAJOR_VERSION
).133
22 COMPONENT_SUMMARY
= Toolkit for SOAP
/REST-based C
/C
++ server and client web service applications
23 COMPONENT_PROJECT_URL
= https
://www.genivia.com
/products.html
24 COMPONENT_SRC
= $(COMPONENT_NAME
)-$(COMPONENT_MAJOR_VERSION
)
25 COMPONENT_ARCHIVE
= $(COMPONENT_NAME
)_
$(COMPONENT_VERSION
).zip
26 COMPONENT_ARCHIVE_URL
= https
://downloads.sourceforge.net
/project
/gsoap2
/$(COMPONENT_ARCHIVE
)
27 COMPONENT_ARCHIVE_HASH
= sha256
:93e124302c5775e115e661af2bf4e1f07fa05aef14f58ce65b5c27c833afe279
28 COMPONENT_FMRI
= library
/gsoap
29 COMPONENT_CLASSIFICATION
=System
/Libraries
30 COMPONENT_LICENSE
= GPLv2
+ with exceptions
31 COMPONENT_LICENSE_FILE
= LICENSE.txt
33 include $(WS_MAKE_RULES
)/common.mk
35 CXXFLAGS
+= -I
$(OPENSSL_INCDIR
)
36 CFLAGS
+= -I
$(OPENSSL_INCDIR
)
38 # Some samples need extra libraries, which are not autodetected
39 LDFLAGS
+= -lsocket
-lxnet
-lnsl
40 # Incite to use the provided openssl
41 LDFLAGS
+= -L
$(OPENSSL_LIBDIR
) -R
$(OPENSSL_LIBDIR
)
43 # gsoap zip file contain a lot of enexpected files (binaries, non-GPL-licensed
44 # files, etc), files we don't want, don't need, or perhaps can't even ship.
46 # What follows is a list of files to be removed according to Fedora gsoap.spec
47 # (openSUSE does a simmilar thing):
49 # * XML files non-executable
50 # * Documentation fonts non-executable
51 # * we want all txt files to have unix end-of-line encoding
52 # * remove stuff with gsoap license only - not GPL
53 # * remove pre-compiled binaries
54 # * Remove .DS_Store files
55 COMPONENT_PRE_CONFIGURE_ACTION
+= \
57 find gsoap
/samples
/autotest
/databinding
/examples
-name
'*.xml' -exec chmod a-x
{} ';' ; \
58 chmod a-x gsoap
/doc
/fonts
/* ; \
59 for txt in
`find . -name '*.txt'`; do \
60 dos2unix
$$txt $$txt ; \
62 rm -rf gsoap
/extras gsoap
/mod_gsoap gsoap
/Symbian
; \
63 sed
's!$$(top_srcdir)/gsoap/extras/\*!!' -i gsoap
/Makefile.am
; \
64 rm -rf gsoap
/bin
rm gsoap
/samples
/calc_vs2005
/calc_vs2005
/soapcpp2.exe \
65 gsoap
/samples
/rest
/person gsoap
/samples
/wcf
/Basic
/TransportSecurity
/calculator \
66 rm gsoap
/VisualStudio2005
/wsdl2h
/wsdl2h
/soapcpp2.exe
; \
67 find .
-name .DS_Store
-exec
rm {} ';' ; \
68 autoreconf
--install --force ; \
69 cp
-a
$(SOURCE_DIR
)/* $(@D
) ;
71 CONFIGURE_SCRIPT
= $(@D
)/configure
73 CONFIGURE_OPTIONS
+= --disable-dependency-tracking
74 CONFIGURE_OPTIONS
+= --enable-ipv6
75 # Build and runs tests
76 CONFIGURE_OPTIONS
+= --enable-samples
77 CONFIGURE_OPTIONS
+= LT_SYS_LIBRARY_PATH
="$(OPENSSL_LIBDIR)"
78 CONFIGURE_OPTIONS
+= --with-openssl-incdir
=$(OPENSSL_INCDIR
)
80 # Parallel build fails. We either disable it, or build soapcpp2_yacc.c first.
81 # We opt for the former.
85 REQUIRED_PACKAGES
+= system
/extended-system-utilities
87 # Auto-generated dependencies
88 REQUIRED_PACKAGES
+= $(GCC_RUNTIME_PKG
)
89 REQUIRED_PACKAGES
+= $(GXX_RUNTIME_PKG
)
90 REQUIRED_PACKAGES
+= library
/security
/openssl-31
91 REQUIRED_PACKAGES
+= library
/zlib
92 REQUIRED_PACKAGES
+= system
/library