summaryrefslogtreecommitdiff
path: root/openssl/ExternalProject_openssl.mk
blob: 010d2ca94c50cc5a88109ed6b4b3901af32311e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#

$(eval $(call gb_ExternalProject_ExternalProject,openssl))

$(eval $(call gb_ExternalProject_use_unpacked,openssl,openssl))

$(eval $(call gb_ExternalProject_register_targets,openssl,\
	build \
))

OPENSSL_PLATFORM := $(if $(filter LINUX FREEBSD ANDROID,$(OS)),\
	$(if $(filter I,$(CPU)),\
	$(if $(filter GNU/kFreeBSD,$(shell uname)),\
	debian-kfreebsd-i386,linux-elf),\
	linux-generic32),\
	$(if $(filter SOLARIS,$(OS)),\
	$(if $(filter INTEL,$(CPUNAME)),\
	$(if $(filter X,$(CPU)),\
	solaris64-x86_64-cc,solaris-x86-cc),\
	solaris-sparcv9-cc),\
	$(if $(filter IOS,$(OS)),\
	ios-armv7,\
	$(if $(filter WNT,$(OS)),\
	$(if $(filter GCC,$(COM)),\
	mingw,\
	$(if $(filter I,$(CPU)),\
	VC-WIN32,VC-WIN64A))))))

ifeq ($(COM),MSC)
$(call gb_ExternalProject_get_state_target,openssl,build):
	$(call gb_ExternalProject_run,build,\
		export CC="$(shell cygpath -w $(CC))" \
		&& export PERL="$(shell cygpath -w $(PERL))" \
		&& export LIB="$(ILIB)" \
		&& $(PERL) Configure $(OPENSSL_PLATFORM) no-idea \
		&& cmd /c "ms\do_ms.bat $(PERL) $(OPENSSL_PLATFORM)" \
		&& unset MAKEFLAGS \
		&& nmake -f "ms\ntdll.mak" \
	)

else
$(call gb_ExternalProject_get_state_target,openssl,build):
	$(call gb_ExternalProject_run,build,\
		unset MAKEFLAGS \
		&& $(if $(filter LINUX FREEBSD ANDROID SOLARIS IOS,$(OS)),./Configure,\
		$(if $(filter WNT,$(OS)),$(PERL) Configure,./config)) \
			$(OPENSSL_PLATFORM) \
			$(if $(filter ANDROID,$(OS)),\
			shared no-idea,\
			$(if $(filter IOS,$(OS)),no-shared no-idea,\
			$(if $(filter WNT,$(OS)),shared,\
			shared no-idea \
			$(if $(SYSBASE),-I$(SYSBASE)/usr/include -L$(SYSBASE)/usr/lib)))) \
			$(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
		&& $(MAKE) build_libs \
			CC="$(CC) $(if $(filter-out WNT,$(OS)),\
			$(if $(filter TRUE,$(HAVE_GCC_VISIBILITY_FEATURE)),\
			-fvisibility=hidden))" \
	)
endif
# vim: set noet sw=4 ts=4: