diff -r 354a9803fe91 -r a43406054648 cmake_modules/compilerchecks.cmake --- a/cmake_modules/compilerchecks.cmake Sat Jun 08 01:56:23 2013 +0200 +++ b/cmake_modules/compilerchecks.cmake Sat Jun 08 02:03:02 2013 +0200 @@ -9,6 +9,7 @@ check_c_compiler_flag("" HAVE_NOEXECSTACK) if(HAVE_NOEXECSTACK) list(APPEND pascal_flags "-k-z" "-knoexecstack") + list(APPEND haskell_flags "-optl" "-z" "-optl" "noexecstack") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_REQUIRED_FLAGS}") endif() @@ -17,6 +18,7 @@ check_c_compiler_flag("" HAVE_RELROFULL) if(HAVE_RELROFULL) list(APPEND pascal_flags "-k-z" "-krelro" "-k-z" "-know") + list(APPEND haskell_flags "-optl" "-z" "-optl" "relro" "-optl" "-z" "-optl" "now") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_REQUIRED_FLAGS}") else() #if full relro is not available, try partial relro @@ -24,6 +26,7 @@ check_c_compiler_flag("" HAVE_RELROPARTIAL) if(HAVE_RELROPARTIAL) list(APPEND pascal_flags "-k-z" "-krelro") + list(APPEND haskell_flags "-optl" "-z" "-optl" "relro") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_REQUIRED_FLAGS}") endif() endif() @@ -33,6 +36,7 @@ check_c_compiler_flag("" HAVE_WINASLR) if(HAVE_WINASLR) list(APPEND pascal_flags "-k--nxcompat") + list(APPEND haskell_flags "-optl" "--nxcompat") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_REQUIRED_FLAGS}") endif() @@ -41,6 +45,7 @@ check_c_compiler_flag("" HAVE_WINDEP) if(HAVE_WINDEP) list(APPEND pascal_flags "-k--dynamicbase") + list(APPEND haskell_flags "-optl" "--dynamicbase") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_REQUIRED_FLAGS}") endif()