equal
deleted
inserted
replaced
70 list(APPEND pascal_flags "-k--dynamicbase") |
70 list(APPEND pascal_flags "-k--dynamicbase") |
71 list(APPEND haskell_flags "-optl" "--dynamicbase") |
71 list(APPEND haskell_flags "-optl" "--dynamicbase") |
72 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_REQUIRED_FLAGS}") |
72 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_REQUIRED_FLAGS}") |
73 endif() |
73 endif() |
74 |
74 |
|
75 #this is actually an optimisation |
|
76 set(CMAKE_REQUIRED_FLAGS "-Wl,--as-needed") |
|
77 check_c_compiler_flag("" HAVE_ASNEEDED) |
|
78 if(HAVE_ASNEEDED) |
|
79 list(APPEND pascal_flags "-k--as-needed") |
|
80 list(APPEND haskell_flags "-optl" "--as-needed") |
|
81 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_REQUIRED_FLAGS}") |
|
82 endif() |
75 |
83 |
76 #always unset or these flags will be spread everywhere |
84 #always unset or these flags will be spread everywhere |
77 unset(CMAKE_REQUIRED_FLAGS) |
85 unset(CMAKE_REQUIRED_FLAGS) |
78 |
86 |