# # Create a library called "CompilerRT" which includes the source files. #INCLUDE_DIRECTORIES( # ${CMAKE_CURRENT_BINARY_DIR} #) # Generic functions needed for each architecture # libcompiler_rt.Generic.a libcompiler_rt.Optimized.a # Generic SET( Generic_SRCS absvdi2.c absvsi2.c addvdi3.c addvsi3.c ashldi3.c ashrdi3.c clzdi2.c clzsi2.c cmpdi2.c ctzdi2.c ctzsi2.c divdc3.c divdi3.c divsc3.c ffsdi2.c fixdfdi.c fixsfdi.c fixunsdfdi.c fixunsdfsi.c fixunssfdi.c fixunssfsi.c floatdidf.c floatdisf.c floatundidf.c floatundisf.c gcc_personality_v0.c lshrdi3.c moddi3.c muldc3.c muldi3.c mulsc3.c mulvdi3.c mulvsi3.c negdi2.c negvdi2.c negvsi2.c paritydi2.c paritysi2.c popcountdi2.c popcountsi2.c powidf2.c powisf2.c subvdi3.c subvsi3.c ucmpdi2.c udivdi3.c udivmoddi4.c umoddi3.c apple_versioning.c eprintf.c ) # Optimized functions for each architecture # Commenting out for the min until the basics are working first. # ADD_SUBDIRECTORY( ppc ) # ADD_SUBDIRECTORY( x86_64 ) # ADD_SUBDIRECTORY( i386 ) # ADD_SUBDIRECTORY( arm ) # List of functions needed for each architecture. SET( i386_Functions divxc3.c fixunsxfdi.c fixunsxfsi.c fixxfdi.c floatdixf.c floatundixf.c mulxc3.c powixf2.c clear_cache.c enable_execute_stack.c ) SET( x86_64_Functions absvti2.c addvti3.c ashlti3.c ashrti3.c clzti2.c cmpti2.c ctzti2.c divti3.c divxc3.c ffsti2.c fixdfti.c fixsfti.c fixunsdfti.c fixunssfti.c fixunsxfdi.c fixunsxfsi.c fixunsxfti.c fixxfdi.c fixxfti.c floatdixf.c floattidf.c floattisf.c floattixf.c floatundixf.c floatuntidf.c floatuntisf.c floatuntixf.c lshrti3.c modti3.c multi3.c mulvti3.c mulxc3.c negti2.c negvti2.c parityti2.c popcountti2.c powixf2.c subvti3.c ucmpti2.c udivmodti4.c udivti3.c umodti3.c clear_cache.c enable_execute_stack.c ) SET( PPC_Functions divtc3.c fixtfdi.c fixunstfdi.c floatditf.c floatunditf.c gcc_qadd.c gcc_qdiv.c gcc_qmul.c gcc_qsub.c multc3.c powitf2.c restFP.c saveFP.c trampoline_setup.c clear_cache.c enable_execute_stack.c ) SET( ARM_Functions adddf3vfp.c addsf3vfp.c bswapdi2.c bswapsi2.c divdf3vfp.c divsf3vfp.c eqdf2vfp.c eqsf2vfp.c extendsfdf2vfp.c fixdfsivfp.c fixsfsivfp.c fixunsdfsivfp.c fixunssfsivfp.c floatsidfvfp.c floatsisfvfp.c floatunssidfvfp.c floatunssisfvfp.c gedf2vfp.c gesf2vfp.c gtdf2vfp.c gtsf2vfp.c ledf2vfp.c lesf2vfp.c ltdf2vfp.c ltsf2vfp.c muldf3vfp.c mulsf3vfp.c nedf2vfp.c negdf2vfp.c negsf2vfp.c nesf2vfp.c subdf3vfp.c subsf3vfp.c truncdfsf2vfp.c unorddf2vfp.c unordsf2vfp.c modsi3.c umodsi3.c udivsi3.c divsi3.c switch.c ) #FOREACH( LOOP_VAR ${Achitectures} ) # See ARCHIVE_OUTPUT_DIRECTORY docs. #${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/${LOOP_VAR} #ENDFOREACH ADD_LIBRARY( ${PROJECT_NAME}-Generic STATIC ${Generic_SRCS} ) #ADD_LIBRARY( ${PROJECT_NAME}-i386 STATIC ${i386_Functions} ) # [[debug|optimized|general] #TARGET_LINK_LIBRARIES( ${PROJECT_NAME} ${PROJECT_NAME}-Common optimized ${PROJECT_NAME}-i386 )