Home | History | Annotate | Download | only in lib
      1 #
      2 # Create a library called "CompilerRT" which includes the source files.
      3 
      4 #INCLUDE_DIRECTORIES(
      5 # ${CMAKE_CURRENT_BINARY_DIR}
      6 #)
      7 
      8 # Generic functions needed for each architecture
      9 # libcompiler_rt.Generic.a    libcompiler_rt.Optimized.a
     10 
     11 # Generic
     12 SET( Generic_SRCS
     13  absvdi2.c absvsi2.c addvdi3.c addvsi3.c ashldi3.c ashrdi3.c
     14  clzdi2.c clzsi2.c cmpdi2.c ctzdi2.c ctzsi2.c
     15  divdc3.c divdi3.c divsc3.c ffsdi2.c
     16  fixdfdi.c fixsfdi.c fixunsdfdi.c fixunsdfsi.c fixunssfdi.c
     17  fixunssfsi.c floatdidf.c floatdisf.c floatundidf.c floatundisf.c
     18  gcc_personality_v0.c lshrdi3.c moddi3.c muldc3.c muldi3.c
     19  mulsc3.c mulvdi3.c mulvsi3.c negdi2.c negvdi2.c negvsi2.c
     20  paritydi2.c paritysi2.c popcountdi2.c popcountsi2.c powidf2.c
     21  powisf2.c subvdi3.c subvsi3.c ucmpdi2.c udivdi3.c
     22  udivmoddi4.c umoddi3.c apple_versioning.c eprintf.c
     23  )
     24 
     25 # Optimized functions for each architecture
     26 
     27 # Commenting out for the min until the basics are working first.
     28 # ADD_SUBDIRECTORY( ppc )
     29 # ADD_SUBDIRECTORY( x86_64 )
     30 # ADD_SUBDIRECTORY( i386 )
     31 # ADD_SUBDIRECTORY( arm )
     32 
     33 # List of functions needed for each architecture.
     34 SET( i386_Functions
     35  divxc3.c fixunsxfdi.c fixunsxfsi.c fixxfdi.c floatdixf.c
     36  floatundixf.c mulxc3.c powixf2.c clear_cache.c enable_execute_stack.c 
     37  )
     38 
     39 SET( x86_64_Functions
     40  absvti2.c addvti3.c ashlti3.c ashrti3.c clzti2.c cmpti2.c
     41  ctzti2.c divti3.c divxc3.c ffsti2.c fixdfti.c fixsfti.c
     42  fixunsdfti.c fixunssfti.c fixunsxfdi.c fixunsxfsi.c
     43  fixunsxfti.c fixxfdi.c fixxfti.c floatdixf.c floattidf.c
     44  floattisf.c floattixf.c floatundixf.c floatuntidf.c
     45  floatuntisf.c floatuntixf.c lshrti3.c modti3.c multi3.c
     46  mulvti3.c mulxc3.c negti2.c negvti2.c parityti2.c
     47  popcountti2.c powixf2.c subvti3.c ucmpti2.c udivmodti4.c
     48  udivti3.c umodti3.c clear_cache.c enable_execute_stack.c
     49  )
     50 
     51 SET( PPC_Functions
     52  divtc3.c fixtfdi.c fixunstfdi.c floatditf.c floatunditf.c
     53  gcc_qadd.c gcc_qdiv.c gcc_qmul.c gcc_qsub.c multc3.c
     54  powitf2.c restFP.c saveFP.c trampoline_setup.c
     55  clear_cache.c enable_execute_stack.c
     56  )
     57 
     58 SET( ARM_Functions
     59  adddf3vfp.c addsf3vfp.c bswapdi2.c bswapsi2.c divdf3vfp.c
     60  divsf3vfp.c eqdf2vfp.c eqsf2vfp.c extendsfdf2vfp.c
     61  fixdfsivfp.c fixsfsivfp.c fixunsdfsivfp.c fixunssfsivfp.c
     62  floatsidfvfp.c floatsisfvfp.c floatunssidfvfp.c floatunssisfvfp.c
     63  gedf2vfp.c gesf2vfp.c gtdf2vfp.c gtsf2vfp.c
     64  ledf2vfp.c lesf2vfp.c ltdf2vfp.c ltsf2vfp.c
     65  muldf3vfp.c mulsf3vfp.c
     66  nedf2vfp.c negdf2vfp.c negsf2vfp.c nesf2vfp.c
     67  subdf3vfp.c subsf3vfp.c truncdfsf2vfp.c unorddf2vfp.c unordsf2vfp.c
     68  modsi3.c umodsi3.c udivsi3.c divsi3.c switch.c
     69  )
     70 
     71 #FOREACH( LOOP_VAR ${Achitectures} )
     72 # See ARCHIVE_OUTPUT_DIRECTORY docs.
     73 #${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/${LOOP_VAR}
     74 #ENDFOREACH
     75 
     76 ADD_LIBRARY( ${PROJECT_NAME}-Generic STATIC ${Generic_SRCS} )
     77 #ADD_LIBRARY( ${PROJECT_NAME}-i386 STATIC ${i386_Functions} )
     78 
     79 # [[debug|optimized|general]
     80 #TARGET_LINK_LIBRARIES( ${PROJECT_NAME} ${PROJECT_NAME}-Common optimized ${PROJECT_NAME}-i386 )
     81 
     82