| Edward O'Callaghan | d904635 | 2009-08-03 01:08:25 +0000 | [diff] [blame] | 1 | # |
| 2 | # Create a library called "CompilerRT" which includes the source files. |
| 3 | |
| Edward O'Callaghan | 6c307f0 | 2009-08-03 05:59:48 +0000 | [diff] [blame] | 4 | #INCLUDE_DIRECTORIES( |
| 5 | # ${CMAKE_CURRENT_BINARY_DIR} |
| 6 | #) |
| 7 | |
| Edward O'Callaghan | d904635 | 2009-08-03 01:08:25 +0000 | [diff] [blame] | 8 | # Generic functions needed for each architecture |
| Edward O'Callaghan | 8bf1e09 | 2009-08-09 18:41:02 +0000 | [diff] [blame] | 9 | # libcompiler_rt.Generic.a libcompiler_rt.Optimized.a |
| Edward O'Callaghan | d904635 | 2009-08-03 01:08:25 +0000 | [diff] [blame] | 10 | |
| 11 | SET( SRCS |
| 12 | absvdi2.c cmpdi2.c fixdfdi.c floatdidf.c moddi3.c negvti2.c ucmpdi2.c |
| 13 | absvsi2.c cmpti2.c fixdfti.c floatdisf.c modsi3.c paritydi2.c ucmpti2.c |
| 14 | absvti2.c ctzdi2.c fixsfdi.c floatdixf.c modti3.c paritysi2.c udivdi3.c |
| 15 | addvdi3.c ctzsi2.c fixsfti.c floattidf.c muldc3.c parityti2.c udivmoddi4.c |
| 16 | addvsi3.c ctzti2.c fixunsdfdi.c floattisf.c muldi3.c popcountdi2.c udivmodti4.c |
| 17 | addvti3.c divdc3.c fixunsdfsi.c floattixf.c mulsc3.c popcountsi2.c udivsi3.c |
| 18 | apple_versioning.c divdi3.c fixunsdfti.c floatundidf.c multi3.c popcountti2.c udivti3.c |
| 19 | ashldi3.c divsc3.c fixunssfdi.c floatundisf.c mulvdi3.c powidf2.c umoddi3.c |
| 20 | ashlti3.c divsi3.c fixunssfsi.c floatundixf.c mulvsi3.c powisf2.c umodsi3.c |
| 21 | ashrdi3.c divti3.c fixunssfti.c floatuntidf.c mulvti3.c powitf2.c umodti3.c |
| 22 | ashrti3.c divxc3.c fixunsxfdi.c floatuntisf.c mulxc3.c powixf2.c |
| 23 | clear_cache.c enable_execute_stack.c fixunsxfsi.c floatuntixf.c negdi2.c subvdi3.c |
| 24 | clzdi2.c eprintf.c fixunsxfti.c gcc_personality_v0.c negti2.c subvsi3.c |
| 25 | clzsi2.c ffsdi2.c fixxfdi.c lshrdi3.c negvdi2.c subvti3.c |
| 26 | clzti2.c ffsti2.c fixxfti.c lshrti3.c negvsi2.c trampoline_setup.c |
| 27 | ) |
| 28 | |
| Edward O'Callaghan | 8bf1e09 | 2009-08-09 18:41:02 +0000 | [diff] [blame] | 29 | # Generic |
| 30 | SET( Common_SRCS |
| 31 | absvdi2.c absvsi2.c addvdi3.c addvsi3.c ashldi3.c ashrdi3.c |
| 32 | clear_cache.c clzdi2.c clzsi2.c cmpdi2.c ctzdi2.c ctzsi2.c |
| 33 | divdc3.c divdi3.c divsc3.c enable_execute_stack.c ffsdi2.c |
| 34 | fixdfdi.c fixsfdi.c fixunsdfdi.c fixunsdfsi.c fixunssfdi.c |
| 35 | fixunssfsi.c floatdidf.c floatdisf.c floatundidf.c floatundisf.c |
| 36 | gcc_personality_v0.c lshrdi3.c moddi3.c muldc3.c muldi3.c |
| 37 | mulsc3.c mulvdi3.c mulvsi3.c negdi2.c negvdi2.c negvsi2.c |
| 38 | paritydi2.c paritysi2.c popcountdi2.c popcountsi2.c powidf2.c |
| 39 | powisf2.c subvdi3.c subvsi3.c ucmpdi2.c udivdi3.c |
| 40 | udivmoddi4.c umoddi3.c apple_versioning.c eprintf.c |
| 41 | ) |
| 42 | |
| 43 | SET( i386_Functions |
| 44 | divxc3.c fixunsxfdi.c fixunsxfsi.c fixxfdi.c |
| 45 | floatdixf.c floatundixf.c mulxc3.c powixf2.c |
| 46 | ) |
| 47 | |
| Edward O'Callaghan | d904635 | 2009-08-03 01:08:25 +0000 | [diff] [blame] | 48 | # Optimized functions for each architecture |
| 49 | |
| 50 | # Commenting out for the min until the basics are working first. |
| 51 | # ADD_SUBDIRECTORY( ppc ) |
| 52 | # ADD_SUBDIRECTORY( x86_64 ) |
| 53 | # ADD_SUBDIRECTORY( i386 ) |
| Edward O'Callaghan | 7b268dc | 2009-09-14 12:45:07 +0000 | [diff] [blame] | 54 | # ADD_SUBDIRECTORY( arm ) |
| Edward O'Callaghan | 880cafc | 2009-08-03 02:15:06 +0000 | [diff] [blame] | 55 | |
| Edward O'Callaghan | 8bf1e09 | 2009-08-09 18:41:02 +0000 | [diff] [blame] | 56 | #FOREACH( LOOP_VAR ${Achitectures} ) |
| 57 | # See ARCHIVE_OUTPUT_DIRECTORY docs. |
| 58 | #${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/${LOOP_VAR} |
| 59 | #ENDFOREACH |
| 60 | |
| 61 | ADD_LIBRARY( ${PROJECT_NAME}-Common STATIC ${Common_SRCS} ) |
| 62 | #ADD_LIBRARY( ${PROJECT_NAME}-i386 STATIC ${i386_Functions} ) |
| 63 | |
| 64 | # [[debug|optimized|general] |
| 65 | #TARGET_LINK_LIBRARIES( ${PROJECT_NAME} ${PROJECT_NAME}-Common optimized ${PROJECT_NAME}-i386 ) |
| 66 | |