summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt12
-rw-r--r--ConfigureChecks.cmake2
-rw-r--r--cmake/Modules/DefineCompilerFlags.cmake4
-rw-r--r--cmake/Modules/MacroAddCheckTest.cmake11
-rw-r--r--config.h.cmake2
-rw-r--r--lib/CMakeLists.txt1
-rw-r--r--lib/int_lib.h45
-rw-r--r--test/CMakeLists.txt17
-rw-r--r--test/Unit/CMakeLists.txt210
-rw-r--r--test/Unit/int_lib.h28
-rw-r--r--test/timing/CMakeLists.txt38
11 files changed, 209 insertions, 161 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 791ed6fbd..3a1bda82f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,12 +10,18 @@ set(PACKAGE_BUGREPORT "llvmbugs@cs.uiuc.edu")
SET( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules )
+# add definitions
+include(DefineCompilerFlags)
+
# Disallow in-source build
INCLUDE( MacroEnsureOutOfSourceBuild )
MACRO_ENSURE_OUT_OF_SOURCE_BUILD(
"${PROJECT_NAME} requires an out of source build. Please create a separate build directory and run 'cmake /path/to/${PROJECT_NAME} [options]' there."
)
+INCLUDE( ConfigureChecks.cmake )
+CONFIGURE_FILE( config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h )
+
install(DIRECTORY include
DESTINATION .
PATTERN ".svn" EXCLUDE
@@ -25,9 +31,9 @@ install(DIRECTORY include
# BlocksRuntime - some random cruft that got thrown in at the last minute, ignoring for now.
# ADD_SUBDIRECTORY( BlocksRuntime )
+
ADD_SUBDIRECTORY( lib )
+
# Tests are being ignored for until the very basics are working.
+# INCLUDE( MacroAddCheckTest )
# ADD_SUBDIRECTORY( test )
-
-INCLUDE( ConfigureChecks.cmake )
-CONFIGURE_FILE( config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h )
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index 24ec55718..57ae7909c 100644
--- a/ConfigureChecks.cmake
+++ b/ConfigureChecks.cmake
@@ -12,5 +12,3 @@ CHECK_INCLUDE_FILE( sys/byteorder.h HAVE_SYS_BYTEORDER_H )
# FUNCTIONS
#CHECK_FUNCTION_EXISTS( strlcpy HAVE_STRLCPY )
-
-#Example ConfigureChecks.cmake
diff --git a/cmake/Modules/DefineCompilerFlags.cmake b/cmake/Modules/DefineCompilerFlags.cmake
new file mode 100644
index 000000000..ddfc2e362
--- /dev/null
+++ b/cmake/Modules/DefineCompilerFlags.cmake
@@ -0,0 +1,4 @@
+# Define compiler flags
+
+#ADD_DEFINITIONS( -Wall -W -Werror -pedantic )
+ADD_DEFINITIONS( -Wall -W -pedantic )
diff --git a/cmake/Modules/MacroAddCheckTest.cmake b/cmake/Modules/MacroAddCheckTest.cmake
new file mode 100644
index 000000000..266ed0fb1
--- /dev/null
+++ b/cmake/Modules/MacroAddCheckTest.cmake
@@ -0,0 +1,11 @@
+# - macro_add_check_test(test_name test_source linklib1 ... linklibN)
+
+ENABLE_TESTING()
+include(CTest)
+set(CMAKE_C_FLAGS_PROFILING "-g -pg")
+
+macro (MACRO_ADD_CHECK_TEST _testName _testSource)
+ add_executable(${_testName} ${_testSource})
+ target_link_libraries(${_testName} ${ARGN})
+ add_test(${_testName} ${CMAKE_CURRENT_BINARY_DIR}/${_testName})
+endmacro (MACRO_ADD_CHECK_TEST)
diff --git a/config.h.cmake b/config.h.cmake
index 850492369..4f640dbcd 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -1,3 +1 @@
#cmakedefine HAVE_SYS_BYTEORDER_H ${HAVE_SYS_BYTEORDER}
-
-#Example config.h.cmake
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index ec789504a..fa30cf628 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -34,3 +34,4 @@ SET( SRCS
# Creates a shared lib .so
ADD_LIBRARY( ${PROJECT_NAME} SHARED ${SRCS} )
+#ADD_LIBRARY( ${PROJECT_NAME} STATIC ${SRCS} )
diff --git a/lib/int_lib.h b/lib/int_lib.h
index 3690d2ebe..6ef7b8e3f 100644
--- a/lib/int_lib.h
+++ b/lib/int_lib.h
@@ -1,22 +1,23 @@
-//===-- int_lib.h - configuration header for libgcc replacement -----------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file is a configuration header for libgcc replacement.
-// This file is not part of the interface of this library.
-//
-//===----------------------------------------------------------------------===//
+/* ===-- int_lib.h - configuration header for libgcc replacement -----------===
+ *
+ * The LLVM Compiler Infrastructure
+ *
+ * This file is distributed under the University of Illinois Open Source
+ * License. See LICENSE.TXT for details.
+ *
+ * ===----------------------------------------------------------------------===
+ *
+ * This file is a configuration header for libgcc replacement.
+ * This file is not part of the interface of this library.
+ *
+ * ===----------------------------------------------------------------------===
+ */
#ifndef INT_LIB_H
#define INT_LIB_H
-// Assumption: signed integral is 2's complement
-// Assumption: right shift of signed negative is arithmetic shift
+/* Assumption: signed integral is 2's complement */
+/* Assumption: right shift of signed negative is arithmetic shift */
#include <limits.h>
#include <math.h>
@@ -25,16 +26,16 @@
#define INFINITY HUGE_VAL
#endif
-// TODO: Improve this to minimal pre-processor hackish'ness.
+/* TODO: Improve this to minimal pre-processor hackish'ness. */
#if defined (__SVR4) && defined (__sun)
-// config.h build via CMake.
-//#include <config.h>
+/* config.h build via CMake. */
+/* #include <config.h> */
-// Solaris header for endian and byte swap
-//#if defined HAVE_SYS_BYTEORDER_H
+/* Solaris header for endian and byte swap */
+/* #if defined HAVE_SYS_BYTEORDER_H */
#include <sys/byteorder.h>
-// Solaris defines endian by setting _LITTLE_ENDIAN or _BIG_ENDIAN
+/* Solaris defines endian by setting _LITTLE_ENDIAN or _BIG_ENDIAN */
#ifdef _BIG_ENDIAN
# define IS_BIG_ENDIAN
#endif
@@ -51,7 +52,7 @@
#define __LITTLE_ENDIAN__ 1
#endif
-#endif //End of Solaris ifdef.
+#endif /* End of Solaris ifdef. */
#ifdef __LITTLE_ENDIAN__
#if __LITTLE_ENDIAN__
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 86c4689ec..68a7fd973 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -1,2 +1,15 @@
-ADD_SUBDIRECTORY( timing )
-ADD_SUBDIRECTORY( Unit )
+PROJECT( tests )
+
+SET( CompilerRT_LIBRARY CompilerRT )
+
+# create test library
+# add_library(${CompilerRT_LIBRARY} STATIC support.c cmdline.c)
+TARGET_LINK_LIBRARIES( ${CompilerRT_LIBRARY} )
+
+SET( TEST_TARGET_LIBRARIES ${CompilerRT_LIBRARY} )
+
+# create tests
+# MACRO_ADD_CHECK_TEST( foo foo.c ${TEST_TARGET_LIBRARIES} )
+
+#ADD_SUBDIRECTORY( timing )
+#ADD_SUBDIRECTORY( Unit )
diff --git a/test/Unit/CMakeLists.txt b/test/Unit/CMakeLists.txt
index 14847c8cf..c4a7c39b9 100644
--- a/test/Unit/CMakeLists.txt
+++ b/test/Unit/CMakeLists.txt
@@ -1,109 +1,103 @@
-PROJECT( Unit )
-SET( SRCS
- ashldi3_test.c
- gcc_personality_test.c
- udivmodti4_test.c
- negvsi2_test.c
- fixdfdi_test.c
- mulvsi3_test.c
- fixdfti_test.c
- muldc3_test.c
- popcountdi2_test.c
- negti2_test.c
- divsc3_test.c
- cmpti2_test.c
- trampoline_setup_test.c
- mulvti3_test.c
- fixunsxfdi_test.c
- fixunsxfti_test.c
- paritydi2_test.c
- negvti2_test.c
- divtc3_test.c
- ucmpti2_test.c
- multc3_test.c
- floatdixf_test.c
- popcountti2_test.c
- negdi2_test.c
- floatdidf_test.c
- fixunstfdi_test.c
- ashlti3_test.c
- enable_execute_stack_test.c
- floatundixf_test.c
- udivmoddi4_test.c
- paritysi2_test.c
- floatundidf_test.c
- divdc3_test.c
- floatuntisf_test.c
- ucmpdi2_test.c
- powixf2_test.c
- mulsc3_test.c
- popcountsi2_test.c
- cmpdi2_test.c
- floattisf_test.c
- mulvdi3_test.c
- fixunssfdi_test.c
- fixunsdfsi_test.c
- fixunssfti_test.c
- parityti2_test.c
- negvdi2_test.c
- moddi3_test.c
- clear_cache_test.c
- fixunsxfsi_test.c
- subvdi3_test.c
- multi3_test.c
- addvdi3_test.c
- clzti2_test.c
- umoddi3_test.c
- absvsi2_test.c
- ctzdi2_test.c
- powitf2_test.c
- fixsfdi_test.c
- ffsti2_test.c
- divdi3_test.c
- fixsfti_test.c
- absvti2_test.c
- ashrti3_test.c
- powisf2_test.c
- mulxc3_test.c
- lshrdi3_test.c
- udivdi3_test.c
- clzsi2_test.c
- addvti3_test.c
- udivsi3_test.c
- clzdi2_test.c
- floatuntidf_test.c
- umodti3_test.c
- divxc3_test.c
- ctzti2_test.c
- floatuntixf_test.c
- powidf2_test.c
- floattidf_test.c
- modti3_test.c
- fixunssfsi_test.c
- fixunsdfdi_test.c
- divsi3_test.c
- floattixf_test.c
- fixunsdfti_test.c
- subvti3_test.c
- muldi3_test.c
- ctzsi2_test.c
- absvdi2_test.c
- ashrdi3_test.c
- lshrti3_test.c
- floatdisf_test.c
- addvsi3_test.c
- udivti3_test.c
- umodsi3_test.c
- subvsi3_test.c
- fixxfdi_test.c
- modsi3_test.c
- fixxfti_test.c
- ffsdi2_test.c
- divti3_test.c
- floatundisf_test.c
- )
-
-ADD_LIBRARY( ${PROJECT_NAME} SHARED ${SRCS})
-# ADD_EXECUTABLE( ${PROJECT_NAME} ${SRCS} )
-# TARGET_LINK_LIBRARIES( ${PROJECT_NAME} ${LIBS} )
+# create tests
+MACRO_ADD_CHECK_TEST( ashldi3_test ashldi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( gcc_personality_test gcc_personality_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( udivmodti4_test udivmodti4_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( negvsi2_test negvsi2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( fixdfdi_test fixdfdi_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( mulvsi3_test mulvsi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( fixdfti_test fixdfti_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( muldc3_test muldc3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( popcountdi2_test popcountdi2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( negti2_test negti2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( divsc3_test divsc3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( cmpti2_test cmpti2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( trampoline_setup_test trampoline_setup_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( mulvti3_test mulvti3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( fixunsxfdi_test fixunsxfdi_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( fixunsxfti_test fixunsxfti_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( paritydi2_test paritydi2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( negvti2_test negvti2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( divtc3_test divtc3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( ucmpti2_test ucmpti2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( multc3_test multc3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floatdixf_test floatdixf_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( popcountti2_test popcountti2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( negdi2_test negdi2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floatdidf_test floatdidf_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( fixunstfdi_test fixunstfdi_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( shlti3_test ashlti3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( enable_execute_stack_test enable_execute_stack_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floatundixf_test floatundixf_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( udivmoddi4_test udivmoddi4_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( paritysi2_test paritysi2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floatundidf_test floatundidf_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( divdc3_test divdc3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floatuntisf_test floatuntisf_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( ucmpdi2_test ucmpdi2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( powixf2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( mulsc3_test mulsc3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( popcountsi2_test popcountsi2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( cmpdi2_test cmpdi2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floattisf_test floattisf_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( mulvdi3_test mulvdi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( fixunssfdi_test fixunssfdi_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( fixunsdfsi_test fixunsdfsi_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( fixunssfti_test fixunssfti_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( parityti2_test parityti2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( negvdi2_test negvdi2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( moddi3_test moddi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( clear_cache_test clear_cache_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( fixunsxfsi_test fixunsxfsi_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( subvdi3_test subvdi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( multi3_test multi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( addvdi3_test addvdi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( clzti2_test clzti2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( umoddi3_test umoddi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( absvsi2_test absvsi2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( ctzdi2_test ctzdi2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( powitf2_test powitf2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( fixsfdi_test fixsfdi_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( ffsti2_test ffsti2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( divdi3_test divdi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( fixsfti_test fixsfti_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( absvti2_test absvti2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( ashrti3_test ashrti3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( powisf2_test powisf2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( mulxc3_test mulxc3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( lshrdi3_test lshrdi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( udivdi3_test udivdi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( clzsi2_test clzsi2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( addvti3_test addvti3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( udivsi3_test udivsi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( clzdi2_test clzdi2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floatuntidf_test floatuntidf_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( umodti3_test umodti3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( divxc3_test divxc3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( ctzti2_test ctzti2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floatuntixf_test floatuntixf_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( powidf2_test powidf2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floattidf_test floattidf_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( modti3_test modti3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( fixunssfsi_test fixunssfsi_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( fixunsdfdi_test fixunsdfdi_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( divsi3_test divsi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floattixf_test floattixf_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( fixunsdfti_test fixunsdfti_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( subvti3_test subvti3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( muldi3_test muldi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( ctzsi2_test ctzsi2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( absvdi2_test absvdi2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( ashrdi3_test ashrdi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( lshrti3_test lshrti3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floatdisf_test floatdisf_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( addvsi3_test addvsi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( udivti3_test udivti3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( umodsi3_test umodsi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( subvsi3_test subvsi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( fixxfdi_test fixxfdi_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( modsi3_test modsi3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( fixxfti_test fixxfti_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( ffsdi2_test ffsdi2_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( divti3_test divti3_test.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floatundisf_test floatundisf_test.c ${TEST_TARGET_LIBRARIES} )
diff --git a/test/Unit/int_lib.h b/test/Unit/int_lib.h
index d623d7edb..bee745925 100644
--- a/test/Unit/int_lib.h
+++ b/test/Unit/int_lib.h
@@ -20,6 +20,34 @@
#include <limits.h>
+// TODO: Improve this to minimal pre-processor hackish'ness.
+#if defined (__SVR4) && defined (__sun)
+// config.h build via CMake.
+//#include <config.h>
+
+// Solaris header for endian and byte swap
+//#if defined HAVE_SYS_BYTEORDER_H
+#include <sys/byteorder.h>
+
+// Solaris defines endian by setting _LITTLE_ENDIAN or _BIG_ENDIAN
+#ifdef _BIG_ENDIAN
+# define IS_BIG_ENDIAN
+#endif
+#ifdef _LITTLE_ENDIAN
+# define IS_LITTLE_ENDIAN
+#endif
+
+#ifdef IS_BIG_ENDIAN
+#define __BIG_ENDIAN__ 1
+#define __LITTLE_ENDIAN__ 0
+#endif
+#ifdef IS_LITTLE_ENDIAN
+#define __BIG_ENDIAN__ 0
+#define __LITTLE_ENDIAN__ 1
+#endif
+
+#endif //End of Solaris ifdef.
+
#ifdef __LITTLE_ENDIAN__
#if __LITTLE_ENDIAN__
#define _YUGA_LITTLE_ENDIAN 1
diff --git a/test/timing/CMakeLists.txt b/test/timing/CMakeLists.txt
index 4368731be..abc7d8f13 100644
--- a/test/timing/CMakeLists.txt
+++ b/test/timing/CMakeLists.txt
@@ -1,23 +1,17 @@
-PROJECT( timing )
-SET( SRCS
- lshrdi3.c
- floatundixf.c
- floatdixf.c
- umoddi3.c
- udivdi3.c
- negdi2.c
- ashrdi3.c
- muldi3.c
- ashldi3.c
- divdi3.c
- floatundisf.c
- floatdidf.c
- floatdisf.c
- moddi3.c
- floatundidf.c
- )
-
-ADD_LIBRARY( ${PROJECT_NAME} SHARED ${SRCS})
-# ADD_EXECUTABLE( ${PROJECT_NAME} ${SRCS} )
-# TARGET_LINK_LIBRARIES( ${PROJECT_NAME} ${LIBS} )
+# create tests
+MACRO_ADD_CHECK_TEST( lshrdi3 lshrdi3.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floatundixf floatundixf.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floatdixf floatdixf.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( umoddi3 umoddi3.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( udivdi3 udivdi3.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( negdi2 negdi2.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( ashrdi3 ashrdi3.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( muldi3 muldi3.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( ashldi3 ashldi3.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( divdi3 divdi3.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floatundisf floatundisf.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floatdidf floatdidf.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floatdisf floatdisf.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( moddi3 moddi3.c ${TEST_TARGET_LIBRARIES} )
+MACRO_ADD_CHECK_TEST( floatundidf floatundidf.c ${TEST_TARGET_LIBRARIES} )