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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
- Rip out additional CFLAGS/LDFLAGS
- Drop osslcompat (bug #686608)
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -106,16 +106,6 @@
_append(ACNG_CXXFLAGS -fvisibility-inlines-hidden)
endif()
-foreach(linkarg -Wl,--as-needed -Wl,-O1 -Wl,--discard-all -Wl,--no-undefined -Wl,--build-id=sha1 -Wl,-fuse-ld=gold -Wl,--threads)
- STRING(REGEX REPLACE "=|-|," "" optname "${linkarg}")
- set(CMAKE_REQUIRED_FLAGS "${linkarg}")
- CHECK_CXX_COMPILER_FLAG("" "LD_${optname}")
- if(LD_${optname})
- _append(CMAKE_EXE_LINKER_FLAGS ${linkarg})
- endif()
- set(CMAKE_REQUIRED_FLAGS "")
-endforeach(linkarg)
-
option(USE_SSL "Use OpenSSL library for TLS and other crypto functionality" on)
IF(CMAKE_SYSTEM MATCHES "Darwin")
@@ -134,14 +124,6 @@
if(CMAKE_BUILD_TYPE MATCHES Debug)
set(USE_LTO_DEFAULT off)
_append(ACNG_COMPFLAGS -DDEBUG)
-else()
- set(CMAKE_REQUIRED_FLAGS "-Wl,--gc-sections")
- CHECK_CXX_COMPILER_FLAG("-Os -fdata-sections -ffunction-sections -Wl,--gc-sections" GC_SECTIONS)
- if(GC_SECTIONS)
- _append(ACNG_COMPFLAGS -fdata-sections -ffunction-sections)
- _append(CMAKE_EXE_LINKER_FLAGS -Wl,--gc-sections)
- endif()
- set(CMAKE_REQUIRED_FLAGS "")
endif()
# XXX: could use the modern macros instead but they were not available in CMake 2.x
@@ -167,23 +149,6 @@
endif()
endif()
-option(USE_LTO "Enable Link Time Optimization (requires modern compilers)" ${USE_LTO_DEFAULT})
-
-if(USE_LTO)
- SET(LDFLAGS_BACKUP "${CMAKE_EXE_LINKER_FLAGS}")
- SET(CMAKE_REQUIRED_FLAGS "${ACNG_COMPFLAGS} -flto")
- _append(CMAKE_EXE_LINKER_FLAGS -flto)
- CHECK_CXX_SOURCE_COMPILES("${CXX11_TESTSRC}" HAS_LTO)
- if(HAS_LTO)
- SET(ACNG_COMPFLAGS ${CMAKE_REQUIRED_FLAGS})
- else()
- SET(CMAKE_REQUIRED_FLAGS "${ACNG_COMPFLAGS}")
- SET(CMAKE_EXE_LINKER_FLAGS "${LDFLAGS_BACKUP}")
- message(WARNING "Link Time Optimization support broken, disabling it.")
- endif()
-endif()
-message("-- LTO use: ${USE_LTO}")
-
FIND_LIBRARY(HAVE_SOCKETLIB socket) # separate socket lib looks like Solaris-like environment
if(HAVE_SOCKETLIB)
LIST(APPEND BaseNetworkLibs socket nsl)
@@ -378,7 +343,6 @@
CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/include/acsyscap.h.in" "${CMAKE_BINARY_DIR}/acsyscap.h")
-add_subdirectory(oldssl-workaround)
add_subdirectory(client)
add_subdirectory(fs)
add_subdirectory(source)
@@ -415,3 +379,14 @@
CFGDIR: ${CFGDIR}
SBINDIR: ${SBINDIR}
")
+
+MESSAGE(STATUS "<<< Gentoo configuration >>>
+Build type ${CMAKE_BUILD_TYPE}
+Install path ${CMAKE_INSTALL_PREFIX}
+Compiler flags:
+C ${CMAKE_C_FLAGS}
+C++ ${CMAKE_CXX_FLAGS}
+Linker flags:
+Executable ${CMAKE_EXE_LINKER_FLAGS}
+Module ${CMAKE_MODULE_LINKER_FLAGS}
+Shared ${CMAKE_SHARED_LINKER_FLAGS}\n")
--- a/fs/CMakeLists.txt
+++ b/fs/CMakeLists.txt
@@ -20,7 +20,7 @@
list(APPEND fsSRCS ../source/aclogger.cc)
endif()
- ADD_EXECUTABLE(acngfs ${fsSRCS} $<TARGET_OBJECTS:osslcompat>)
+ ADD_EXECUTABLE(acngfs ${fsSRCS})
SET_TARGET_PROPERTIES(acngfs PROPERTIES COMPILE_FLAGS "${ACNG_COMPFLAGS} ${ACNG_CXXFLAGS} ${acngfs_cflags}")
INSTALL(TARGETS acngfs DESTINATION ${LIBDIR})
if(HAVE_DLOPEN)
--- a/source/CMakeLists.txt
+++ b/source/CMakeLists.txt
@@ -4,12 +4,12 @@
ADD_LIBRARY(acngstuff OBJECT ${SHAREDSRCS})
SET_TARGET_PROPERTIES(acngstuff PROPERTIES COMPILE_FLAGS "${ACNG_COMPFLAGS} ${ACNG_CXXFLAGS} ${CFLAGS_DAEMON} ${CFLAGS_PTHREAD}")
-ADD_EXECUTABLE(apt-cacher-ng $<TARGET_OBJECTS:acngstuff> ${ACNG_SRCS} apt-cacher.cc $<TARGET_OBJECTS:osslcompat>)
+ADD_EXECUTABLE(apt-cacher-ng $<TARGET_OBJECTS:acngstuff> ${ACNG_SRCS} apt-cacher.cc)
TARGET_LINK_LIBRARIES(apt-cacher-ng ${BaseNetworkLibs} ${ServerLibs} ${CompLibs} ${SSL_LIB_LIST} ${LDFLAGS_DAEMON} ${CMAKE_THREAD_LIBS_INIT} ${EXTRA_LIBS_ACNG})
SET_TARGET_PROPERTIES(apt-cacher-ng PROPERTIES COMPILE_FLAGS "${ACNG_COMPFLAGS} ${ACNG_CXXFLAGS} ${CFLAGS_DAEMON} ${CFLAGS_PTHREAD}")
INSTALL(TARGETS apt-cacher-ng DESTINATION ${SBINDIR})
-ADD_EXECUTABLE(acngtool acngtool.cc $<TARGET_OBJECTS:acngstuff> $<TARGET_OBJECTS:osslcompat>)
+ADD_EXECUTABLE(acngtool acngtool.cc $<TARGET_OBJECTS:acngstuff>)
SET_TARGET_PROPERTIES(acngtool PROPERTIES COMPILE_FLAGS "${ACNG_COMPFLAGS} ${ACNG_CXXFLAGS} ${CFLAGS_PTHREAD}")
TARGET_LINK_LIBRARIES(acngtool ${BaseNetworkLibs} ${CompLibs} ${SSL_LIB_LIST} ${CMAKE_THREAD_LIBS_INIT} ${EXTRA_LIBS_ACNGTOOL})
INSTALL(TARGETS acngtool DESTINATION ${LIBDIR})
|