diff options
| author | James Lyon <jamesly0n@hotmail.com> | 2013-04-26 00:31:46 +0100 |
|---|---|---|
| committer | James Lyon <jamesly0n@hotmail.com> | 2013-04-26 00:31:46 +0100 |
| commit | ae2ece93da446b53b354b12f2f1dfd0cba6f57b7 (patch) | |
| tree | 922e88af5d4add6e866621de9b1d0163fda06beb /CMakeLists.txt | |
| parent | 1caee8ab3b6c3cf3ceb06d1ec4a5e09e2d90c543 (diff) | |
| download | tinycc-ae2ece93da446b53b354b12f2f1dfd0cba6f57b7.tar.gz tinycc-ae2ece93da446b53b354b12f2f1dfd0cba6f57b7.tar.bz2 | |
Fixed i386 calling convention issue and CMake build on i386.
The i386 calling convention expects the callee to pop 1 word of the
stack when performing a struct ret.
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 845a311..41dd81b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,8 +26,10 @@ else() endif() elseif(CMAKE_SIZEOF_VOID_P EQUAL 8) set(TCC_NATIVE_TARGET "x86_64") + set(TCC_ARCH_DIR "x86_64-linux-gnu") else() set(TCC_NATIVE_TARGET "i386") + set(TCC_ARCH_DIR "i386-linux-gnu") endif() endif() @@ -44,9 +46,9 @@ else() endif() if(NOT WIN32) - if(EXISTS /usr/lib/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/crti.o) - set(CONFIG_LDDIR lib/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu) - set(CONFIG_MULTIARCHDIR ${CMAKE_SYSTEM_PROCESSOR}-linux-gnu) + if(EXISTS /usr/lib/${TCC_ARCH_DIR}/crti.o) + set(CONFIG_LDDIR lib/${TCC_ARCH_DIR}) + set(CONFIG_MULTIARCHDIR ${TCC_ARCH_DIR}) elseif(EXISTS /usr/lib64/crti.o) set(CONFIG_LDDIR lib64) endif() @@ -164,7 +166,10 @@ macro(make_tcc native_name cross_name cross_enabled definitions tcc_sources libt tcctok.h ${tcc_sources} ) - set_target_properties(libtcc PROPERTIES OUTPUT_NAME tcc PREFIX lib LINK_FLAGS "-Wl,--output-def,libtcc.def") + set_target_properties(libtcc PROPERTIES OUTPUT_NAME tcc PREFIX lib) + if(WIN32) + set_target_properties(libtcc PROPERTIES LINK_FLAGS "-Wl,--output-def,libtcc.def") + endif() add_executable(tcc tcc.c) target_link_libraries(tcc libtcc) if(NOT WIN32) |
