From ef7b647b3b11d6526439d3ececed254c237b3eac Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Fri, 6 Jul 2007 08:53:16 -0400 Subject: [PATCH] COMP: OPTIONAL was missing in ENABLE_LANGUAGE() -the assembler file seems to work for Linux and FreeBSD -try to fix main() for HP-UX compiler Alex --- Tests/Assembler/CMakeLists.txt | 25 ++++++++++++------------- Tests/Assembler/main.c | 8 +++++++- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/Tests/Assembler/CMakeLists.txt b/Tests/Assembler/CMakeLists.txt index 54e538b58..d51c2546c 100644 --- a/Tests/Assembler/CMakeLists.txt +++ b/Tests/Assembler/CMakeLists.txt @@ -2,20 +2,19 @@ project(Assembler) set(SRCS) -message(STATUS "Testing assembler support, system: ${CMAKE_SYSTEM_NAME} processor: ${CMAKE_SYSTEM_PROCESSOR}") - # if no file has been set as source and we are on linux with an x86 processor try to use the gas/as assembler -if(NOT SRCS AND NOT APPLE AND CMAKE_SYSTEM_PROCESSOR MATCHES "[ix].?86$") -# if(NOT SRCS AND CMAKE_SYSTEM_NAME MATCHES Linux AND CMAKE_SYSTEM_PROCESSOR MATCHES "[ix].?86$") - message(STATUS "Trying to enable ASM-ATT for Linux/x86") - enable_language(ASM-ATT) - if(CMAKE_ASM-ATT_COMPILER_WORKS) - message(STATUS "Trying to enable ASM-ATT for Linux/x86 - succeeded") - # this assembler file was created using gcc -S main.c - set(SRCS main-linux-x86-gas.s) - endif(CMAKE_ASM-ATT_COMPILER_WORKS) -endif(NOT SRCS AND NOT APPLE AND CMAKE_SYSTEM_PROCESSOR MATCHES "[ix].?86$") -# endif(NOT SRCS AND CMAKE_SYSTEM_NAME MATCHES Linux AND CMAKE_SYSTEM_PROCESSOR MATCHES "[ix].?86$") +# main-linux-x86-gas.s seems to work for Linux and FreeBSD +if(NOT SRCS AND CMAKE_SYSTEM_PROCESSOR MATCHES "[ix].?86$") + if(CMAKE_SYSTEM MATCHES Linux or CMAKE_SYSTEM MATCHES FreeBSD) + message(STATUS "Trying to enable ASM-ATT for Linux or FreeBSD on x86") + enable_language(ASM-ATT OPTIONAL) + if(CMAKE_ASM-ATT_COMPILER_WORKS) + message(STATUS "Trying to enable ASM-ATT for Linux/x86 - succeeded") + # this assembler file was created using gcc -S main.c + set(SRCS main-linux-x86-gas.s) + endif(CMAKE_ASM-ATT_COMPILER_WORKS) + endif(CMAKE_SYSTEM MATCHES Linux or CMAKE_SYSTEM MATCHES FreeBSD) +endif(NOT SRCS AND CMAKE_SYSTEM_PROCESSOR MATCHES "[ix].?86$") if(NOT SRCS) message(STATUS "No assembler enabled, using C") diff --git a/Tests/Assembler/main.c b/Tests/Assembler/main.c index 3704ad057..6cbf24de7 100644 --- a/Tests/Assembler/main.c +++ b/Tests/Assembler/main.c @@ -1,6 +1,12 @@ #include -int main(int argc, char** argv) +#ifdef __CLASSIC_C__ +int main(){ + int ac; + char*av[]; +#else +int main(int ac, char*av[]){ +#endif { printf("hello assembler world, %d arguments given\n", argc); return 0;