6a1ea1cc3c
'go for it' espie@
155 lines
4.7 KiB
Plaintext
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)
|