openbsd-ports/devel/cryptopp/patches/patch-GNUmakefile
dcoppa 6a1ea1cc3c Update to cryptopp-5.6.1
'go for it' espie@
2011-06-24 07:55:17 +00:00

155 lines
4.7 KiB
Plaintext

$OpenBSD: patch-GNUmakefile,v 1.2 2011/06/24 07:55:17 dcoppa Exp $
--- GNUmakefile.orig Sun Sep 23 21:03:14 2007
+++ GNUmakefile Sun Jun 15 10:30:30 2008
@@ -1,4 +1,9 @@
+ifndef CXXFLAGS
CXXFLAGS = -DNDEBUG -g -O2
+endif
+ifndef LDFLAGS
+LDFLAGS = -pthread
+endif
#CXXFLAGS = -g
# -fPIC is supported. Please report any breakage of -fPIC as a bug.
# CXXFLAGS += -fPIC
@@ -9,112 +14,12 @@ ARFLAGS = -cr # ar needs the dash on OpenBSD
RANLIB = ranlib
CP = cp
MKDIR = mkdir
-EGREP = egrep
-UNAME = $(shell uname)
-ISX86 = $(shell uname -m | $(EGREP) -c "i.86|x86|i86|amd64")
# Default prefix for make install
ifeq ($(PREFIX),)
PREFIX = /usr
endif
-ifeq ($(CXX),gcc) # for some reason CXX is gcc on cygwin 1.1.4
-CXX = g++
-endif
-
-ifeq ($(ISX86),1)
-
-GCC42_OR_LATER = $(shell $(CXX) -v 2>&1 | $(EGREP) -c "^gcc version (4.[2-9]|[5-9])")
-INTEL_COMPILER = $(shell $(CXX) --version 2>&1 | $(EGREP) -c "\(ICC\)")
-ICC111_OR_LATER = $(shell $(CXX) --version 2>&1 | $(EGREP) -c "\(ICC\) ([2-9][0-9]|1[2-9]|11\.[1-9])")
-IS_SUN_CC = $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: Sun")
-GAS210_OR_LATER = $(shell echo "" | $(AS) -v 2>&1 | $(EGREP) -c "GNU assembler version (2\.[1-9][0-9]|[3-9])")
-GAS217_OR_LATER = $(shell echo "" | $(AS) -v 2>&1 | $(EGREP) -c "GNU assembler version (2\.1[7-9]|2\.[2-9]|[3-9])")
-GAS219_OR_LATER = $(shell echo "" | $(AS) -v 2>&1 | $(EGREP) -c "GNU assembler version (2\.19|2\.[2-9]|[3-9])")
-ISMINGW = $(shell $(CXX) --version 2>&1 | $(EGREP) -c "mingw")
-
-ifneq ($(GCC42_OR_LATER),0)
-ifeq ($(UNAME),Darwin)
-CXXFLAGS += -arch x86_64 -arch i386
-else
-CXXFLAGS += -march=native
-endif
-endif
-
-ifneq ($(INTEL_COMPILER),0)
-CXXFLAGS += -wd68 -wd186 -wd279 -wd327
-ifeq ($(ICC111_OR_LATER),0)
-# "internal error: backend signals" occurs on some x86 inline assembly with ICC 9 and some x64 inline assembly with ICC 11.0
-# if you want to use Crypto++'s assembly code with ICC, try enabling it on individual files
-CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
-endif
-endif
-
-ifeq ($(GAS210_OR_LATER),0) # .intel_syntax wasn't supported until GNU assembler 2.10
-CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
-else
-ifeq ($(GAS217_OR_LATER),0)
-CXXFLAGS += -DCRYPTOPP_DISABLE_SSSE3
-else
-ifeq ($(GAS219_OR_LATER),0)
-CXXFLAGS += -DCRYPTOPP_DISABLE_AESNI
-endif
-endif
-ifeq ($(UNAME),SunOS)
-CXXFLAGS += -Wa,--divide # allow use of "/" operator
-endif
-endif
-
-ifeq ($(ISMINGW),1)
-LDLIBS += -lws2_32
-endif
-
-endif # ISX86
-
-ifeq ($(UNAME),) # for DJGPP, where uname doesn't exist
-CXXFLAGS += -mbnu210
-else
-CXXFLAGS += -pipe
-endif
-
-ifeq ($(UNAME),Linux)
-LDFLAGS += -pthread
-ifneq ($(shell uname -i | $(EGREP) -c "(_64|d64)"),0)
-M32OR64 = -m64
-endif
-endif
-
-ifeq ($(UNAME),Darwin)
-AR = libtool
-ARFLAGS = -static -o
-CXX = c++
-IS_GCC2 = $(shell $(CXX) -v 2>&1 | $(EGREP) -c gcc-932)
-ifeq ($(IS_GCC2),1)
-CXXFLAGS += -fno-coalesce-templates -fno-coalesce-static-vtables
-LDLIBS += -lstdc++
-LDFLAGS += -flat_namespace -undefined suppress -m
-endif
-endif
-
-ifeq ($(UNAME),SunOS)
-LDLIBS += -lnsl -lsocket
-M32OR64 = -m$(shell isainfo -b)
-endif
-
-ifneq ($(IS_SUN_CC),0) # override flags for CC Sun C++ compiler
-CXXFLAGS = -DNDEBUG -O -g0 -native -template=no%extdef $(M32OR64)
-LDFLAGS =
-AR = $(CXX)
-ARFLAGS = -xar -o
-RANLIB = true
-SUN_CC10_BUGGY = $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: Sun .* 5\.10 .* (2009|2010/0[1-4])")
-ifneq ($(SUN_CC10_BUGGY),0)
-# -DCRYPTOPP_INCLUDE_VECTOR_CC is needed for Sun Studio 12u1 Sun C++ 5.10 SunOS_i386 128229-02 2009/09/21 and was fixed in May 2010
-# remove it if you get "already had a body defined" errors in vector.cc
-CXXFLAGS += -DCRYPTOPP_INCLUDE_VECTOR_CC
-endif
-endif
-
SRCS = $(wildcard *.cpp)
ifeq ($(SRCS),) # workaround wildcard function bug in GNU Make 3.77
SRCS = $(shell echo *.cpp)
@@ -131,10 +36,12 @@ LIBIMPORTOBJS = $(LIBOBJS:.o=.import.o)
TESTIMPORTOBJS = $(TESTOBJS:.o=.import.o)
DLLTESTOBJS = dlltest.dllonly.o
-all: cryptest.exe
+SHARED_LIB = libcryptopp.so.${LIBcryptopp_VERSION}
+all: libcryptopp.a ${SHARED_LIB}
+
test: cryptest.exe
- ./cryptest.exe v
+ LD_LIBRARY_PATH=${WRKDIST} ./cryptest.exe v
clean:
$(RM) cryptest.exe libcryptopp.a $(LIBOBJS) $(TESTOBJS) cryptopp.dll libcryptopp.dll.a libcryptopp.import.a cryptest.import.exe dlltest.exe $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTIMPORTOBJS) $(DLLTESTOBJS)
@@ -153,8 +60,11 @@ libcryptopp.a: $(LIBOBJS)
libcryptopp.so: $(LIBOBJS)
$(CXX) -shared -o $@ $(LIBOBJS)
+${SHARED_LIB}: ${LIBOBJS}
+ $(CXX) -shared -o $@ $(CXXFLAGS) $(LIBOBJS) $(LDFLAGS)
+
cryptest.exe: libcryptopp.a $(TESTOBJS)
- $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) -L. -lcryptopp $(LDFLAGS) $(LDLIBS)
+ $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) -L${WRKDIST} -lcryptopp $(LDFLAGS) $(LDLIBS)
nolib: $(OBJS) # makes it faster to test changes
$(CXX) -o ct $(CXXFLAGS) $(OBJS) $(LDFLAGS) $(LDLIBS)