Advertisement
Guest User

GNUmakefile Diff

a guest
Apr 2nd, 2015
338
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 4.20 KB | None | 0 0
  1. Index: GNUmakefile
  2. ===================================================================
  3. --- GNUmakefile (revision 541)
  4. +++ GNUmakefile (working copy)
  5. @@ -1,7 +1,7 @@
  6. -CXXFLAGS = -DNDEBUG -g -O2
  7. +CXXFLAGS = -DNDEBUG -g3 -Os
  8.  # -O3 fails to link on Cygwin GCC version 4.5.3
  9.  # -fPIC is supported. Please report any breakage of -fPIC as a bug.
  10. -# CXXFLAGS += -fPIC
  11. +CXXFLAGS += -fPIC
  12.  # the following options reduce code size, but breaks link or makes link very slow on some systems
  13.  # CXXFLAGS += -ffunction-sections -fdata-sections
  14.  # LDFLAGS += -Wl,--gc-sections
  15. @@ -15,7 +15,8 @@
  16.  IS_SUN_CC = $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: Sun")
  17.  IS_LINUX = $(shell $(CXX) -dumpmachine 2>&1 | $(EGREP) -c "linux")
  18.  IS_MINGW = $(shell $(CXX) -dumpmachine 2>&1 | $(EGREP) -c "mingw")
  19. -CLANG_COMPILER = $(shell $(CXX) --version 2>&1 | $(EGREP) -i -c "clang version")
  20. +GCC_COMPILER = $(shell $(CXX) --version 2>&1 | $(EGREP) -i -c "gcc")
  21. +CLANG_COMPILER = $(shell $(CXX) --version 2>&1 | $(EGREP) -i -c "clang")
  22.  
  23.  # Default prefix for make install
  24.  ifeq ($(PREFIX),)
  25. @@ -26,15 +27,36 @@
  26.  CXX = g++
  27.  endif
  28.  
  29. +ifneq ($(GCC_COMPILER),0)
  30. +  CXXFLAGS += -Wall -Wno-unused-value -Wno-unused-function
  31. +endif
  32. +
  33. +ifneq ($(CLANG_COMPILER),0)
  34. +  CLANG_35_OR_36 = $(shell $(CXX) -v 2>&1 | $(EGREP) -c "version (3\.[5-6]\.)")
  35. +endif
  36. +
  37. +ifneq ($(CLANG_COMPILER),0)
  38. +  CXXFLAGS += -stdlib=libc++ -fsanitize=address -fsanitize=undefined -Wall -Wno-tautological-compare -Wno-unused-value -Wno-unused-variable -Wno-unused-parameter -Wno-unused-function
  39. +endif
  40. +
  41. +ifneq ($(CLANG_35_OR_36),0)
  42. +  CXXFLAGS += -I/usr/lib/c++/v1
  43. +  LDLIBS += -lc++abi
  44. +endif
  45. +
  46. +CXXFLAGS += -I/usr/lib/c++/v1
  47. +
  48.  ifeq ($(ISX86),1)
  49.  
  50. -GCC42_OR_LATER = $(shell $(CXX) -v 2>&1 | $(EGREP) -c "^gcc version (4.[2-9]|[5-9])")
  51. +GCC42_OR_LATER = $(shell $(CXX) -v 2>&1 | $(EGREP) -c "^gcc version (4\.[2-9]|[5-9])")
  52.  INTEL_COMPILER = $(shell $(CXX) --version 2>&1 | $(EGREP) -c "\(ICC\)")
  53.  ICC111_OR_LATER = $(shell $(CXX) --version 2>&1 | $(EGREP) -c "\(ICC\) ([2-9][0-9]|1[2-9]|11\.[1-9])")
  54.  GAS210_OR_LATER = $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 | $(EGREP) -c "GNU assembler version (2\.[1-9][0-9]|[3-9])")
  55.  GAS217_OR_LATER = $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 | $(EGREP) -c "GNU assembler version (2\.1[7-9]|2\.[2-9]|[3-9])")
  56.  GAS219_OR_LATER = $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 | $(EGREP) -c "GNU assembler version (2\.19|2\.[2-9]|[3-9])")
  57.  
  58. +
  59. +
  60.  ifneq ($(GCC42_OR_LATER),0)
  61.  ifeq ($(UNAME),Darwin)
  62.  CXXFLAGS += -arch x86_64 -arch i386
  63. @@ -89,11 +111,9 @@
  64.  ifeq ($(UNAME),Darwin)
  65.  AR = libtool
  66.  ARFLAGS = -static -o
  67. -CXX = c++
  68.  IS_GCC2 = $(shell $(CXX) -v 2>&1 | $(EGREP) -c gcc-932)
  69.  ifeq ($(IS_GCC2),1)
  70.  CXXFLAGS += -fno-coalesce-templates -fno-coalesce-static-vtables
  71. -LDLIBS += -lstdc++
  72.  LDFLAGS += -flat_namespace -undefined suppress -m
  73.  endif
  74.  endif
  75. @@ -103,10 +123,6 @@
  76.  M32OR64 = -m$(shell isainfo -b)
  77.  endif
  78.  
  79. -ifneq ($(CLANG_COMPILER),0)
  80. -CXXFLAGS += -Wno-tautological-compare
  81. -endif
  82. -
  83.  ifneq ($(IS_SUN_CC),0) # override flags for CC Sun C++ compiler
  84.  CXXFLAGS = -DNDEBUG -O -g0 -native -template=no%extdef $(M32OR64)
  85.  LDFLAGS =
  86. @@ -165,29 +181,11 @@
  87.     $(RANLIB) $@
  88.  
  89.  libcryptopp.so: $(LIBOBJS)
  90. -   $(CXX) -shared -o $@ $(LIBOBJS)
  91. +   $(CXX) $(CXXFLAGS) -shared -o $@ $(LIBOBJS)
  92.  
  93.  cryptest.exe: libcryptopp.a $(TESTOBJS)
  94.     $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) ./libcryptopp.a $(LDFLAGS) $(LDLIBS)
  95.  
  96. -nolib: $(OBJS)     # makes it faster to test changes
  97. -   $(CXX) -o ct $(CXXFLAGS) $(OBJS) $(LDFLAGS) $(LDLIBS)
  98. -
  99. -dll: cryptest.import.exe dlltest.exe
  100. -
  101. -cryptopp.dll: $(DLLOBJS)
  102. -   $(CXX) -shared -o $@ $(CXXFLAGS) $(DLLOBJS) $(LDFLAGS) $(LDLIBS) -Wl,--out-implib=libcryptopp.dll.a
  103. -
  104. -libcryptopp.import.a: $(LIBIMPORTOBJS)
  105. -   $(AR) $(ARFLAGS) $@ $(LIBIMPORTOBJS)
  106. -   $(RANLIB) $@
  107. -
  108. -cryptest.import.exe: cryptopp.dll libcryptopp.import.a $(TESTIMPORTOBJS)
  109. -   $(CXX) -o $@ $(CXXFLAGS) $(TESTIMPORTOBJS) -L. -lcryptopp.dll -lcryptopp.import $(LDFLAGS) $(LDLIBS)
  110. -
  111. -dlltest.exe: cryptopp.dll $(DLLTESTOBJS)
  112. -   $(CXX) -o $@ $(CXXFLAGS) $(DLLTESTOBJS) -L. -lcryptopp.dll $(LDFLAGS) $(LDLIBS)
  113. -
  114.  adhoc.cpp: adhoc.cpp.proto
  115.  ifeq ($(wildcard adhoc.cpp),)
  116.     cp adhoc.cpp.proto adhoc.cpp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement