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
15 USE_PARALLEL_BUILD
= yes
16 include ..
/..
/..
/make-rules
/shared-macros.mk
19 COMPONENT_MAJOR_VERSION
= 2.8
20 COMPONENT_VERSION
= $(COMPONENT_MAJOR_VERSION
).135
21 COMPONENT_SUMMARY
= Toolkit for SOAP
/REST-based C
/C
++ server and client web service applications
22 COMPONENT_PROJECT_URL
= https
://www.genivia.com
/products.html
23 COMPONENT_SRC
= $(COMPONENT_NAME
)-$(COMPONENT_MAJOR_VERSION
)
24 COMPONENT_ARCHIVE
= $(COMPONENT_NAME
)_
$(COMPONENT_VERSION
).zip
25 COMPONENT_ARCHIVE_URL
= https
://downloads.sourceforge.net
/project
/gsoap2
/$(COMPONENT_ARCHIVE
)
26 COMPONENT_ARCHIVE_HASH
= sha256
:b11757e405d55d4674dfbf88c4fa6d7e24155cf64ed8ed578ccad2f2b555e98d
27 COMPONENT_FMRI
= library
/gsoap
28 COMPONENT_CLASSIFICATION
=System
/Libraries
29 COMPONENT_LICENSE
= GPLv2
+ with exceptions
30 COMPONENT_LICENSE_FILE
= LICENSE.txt
32 include $(WS_MAKE_RULES
)/common.mk
34 CXXFLAGS
+= -I
$(OPENSSL_INCDIR
)
35 CFLAGS
+= -I
$(OPENSSL_INCDIR
)
37 # Some samples need extra libraries, which are not autodetected
38 LDFLAGS
+= -lsocket
-lxnet
-lnsl
39 # Incite to use the provided openssl
40 LDFLAGS
+= -L
$(OPENSSL_LIBDIR
) -R
$(OPENSSL_LIBDIR
)
42 # gsoap zip file contain a lot of enexpected files (binaries, non-GPL-licensed
43 # files, etc), files we don't want, don't need, or perhaps can't even ship.
45 # What follows is a list of files to be removed according to Fedora gsoap.spec
46 # (openSUSE does a simmilar thing):
48 # * XML files non-executable
49 # * Documentation fonts non-executable
50 # * we want all txt files to have unix end-of-line encoding
51 # * remove stuff with gsoap license only - not GPL
52 # * remove pre-compiled binaries
53 # * Remove .DS_Store files
54 COMPONENT_PRE_CONFIGURE_ACTION
+= \
56 find gsoap
/samples
/autotest
/databinding
/examples
-name
'*.xml' -exec chmod a-x
{} ';' ; \
57 chmod a-x gsoap
/doc
/fonts
/* ; \
58 for txt in
`find . -name '*.txt'`; do \
59 dos2unix
$$txt $$txt ; \
61 rm -rf gsoap
/extras gsoap
/mod_gsoap gsoap
/Symbian
; \
62 sed
's!$$(top_srcdir)/gsoap/extras/\*!!' -i gsoap
/Makefile.am
; \
63 rm -rf gsoap
/bin
rm gsoap
/samples
/calc_vs2005
/calc_vs2005
/soapcpp2.exe \
64 gsoap
/samples
/rest
/person gsoap
/samples
/wcf
/Basic
/TransportSecurity
/calculator \
65 rm gsoap
/VisualStudio2005
/wsdl2h
/wsdl2h
/soapcpp2.exe
; \
66 find .
-name .DS_Store
-exec
rm {} ';' ; \
67 autoreconf
--install --force ; \
68 cp
-a
$(SOURCE_DIR
)/* $(@D
) ;
70 CONFIGURE_SCRIPT
= $(@D
)/configure
72 CONFIGURE_OPTIONS
+= --disable-dependency-tracking
73 CONFIGURE_OPTIONS
+= --enable-ipv6
74 # Build and runs tests
75 CONFIGURE_OPTIONS
+= --enable-samples
76 CONFIGURE_OPTIONS
+= LT_SYS_LIBRARY_PATH
="$(OPENSSL_LIBDIR)"
77 CONFIGURE_OPTIONS
+= --with-openssl-incdir
=$(OPENSSL_INCDIR
)
79 # Parallel build fails. We either disable it, or build soapcpp2_yacc.c first.
80 # We opt for the former.
84 REQUIRED_PACKAGES
+= system
/extended-system-utilities
86 # Auto-generated dependencies
87 REQUIRED_PACKAGES
+= $(GCC_RUNTIME_PKG
)
88 REQUIRED_PACKAGES
+= $(GXX_RUNTIME_PKG
)
89 REQUIRED_PACKAGES
+= $(OPENSSL_PKG
)
90 REQUIRED_PACKAGES
+= library
/zlib
91 REQUIRED_PACKAGES
+= system
/library