Skip to content

Commit

Permalink
Do not compile the LFortran runtime library
Browse files Browse the repository at this point in the history
  • Loading branch information
certik committed Mar 19, 2022
1 parent af8ecca commit 8e74b3e
Showing 1 changed file with 0 additions and 78 deletions.
78 changes: 0 additions & 78 deletions src/bin/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,84 +39,6 @@ if (WITH_STACKTRACE AND APPLE AND CMAKE_CXX_COMPILER_ID MATCHES Clang)
endif()


if (WITH_RUNTIME_LIBRARY)
macro(LFORTRAN_COMPILE_RUNTIME name dir)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/../runtime/${name}.mod
COMMAND ${CMAKE_CURRENT_BINARY_DIR}/lpython
ARGS --backend=cpp -c ${CMAKE_CURRENT_SOURCE_DIR}/../runtime/${dir}/${name}.f90 -o ${name}.o
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../runtime
DEPENDS lpython ${CMAKE_CURRENT_SOURCE_DIR}/../runtime/${dir}/${name}.f90 ${ARGN}
COMMENT "LFortran Compiling ${dir}/${name}.f90")
endmacro(LFORTRAN_COMPILE_RUNTIME)

LFORTRAN_COMPILE_RUNTIME(lfortran_intrinsic_builtin builtin)
LFORTRAN_COMPILE_RUNTIME(lfortran_intrinsic_kind pure)
LFORTRAN_COMPILE_RUNTIME(lfortran_intrinsic_iso_fortran_env pure)
LFORTRAN_COMPILE_RUNTIME(lfortran_intrinsic_ieee_arithmetic pure
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_iso_fortran_env.mod
)
LFORTRAN_COMPILE_RUNTIME(lfortran_intrinsic_iso_c_binding pure
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_builtin.mod
)
LFORTRAN_COMPILE_RUNTIME(lfortran_intrinsic_string pure
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_builtin.mod
)
LFORTRAN_COMPILE_RUNTIME(lfortran_intrinsic_math2 pure
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_iso_fortran_env.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_builtin.mod
)
LFORTRAN_COMPILE_RUNTIME(lfortran_intrinsic_trig pure
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_iso_fortran_env.mod
)
LFORTRAN_COMPILE_RUNTIME(lfortran_intrinsic_math impure
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_iso_c_binding.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_builtin.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_iso_fortran_env.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_math2.mod
)
LFORTRAN_COMPILE_RUNTIME(lfortran_intrinsic_sin impure
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_iso_c_binding.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_builtin.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_iso_fortran_env.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_math.mod
)
LFORTRAN_COMPILE_RUNTIME(lfortran_intrinsic_bit impure
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_iso_fortran_env.mod
)

add_custom_target(lfortran2
ALL
DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_builtin.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_kind.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_iso_fortran_env.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_ieee_arithmetic.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_iso_c_binding.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_math2.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_math.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_trig.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_sin.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_string.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_bit.mod
)

install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_builtin.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_kind.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_iso_fortran_env.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_ieee_arithmetic.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_iso_c_binding.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_math2.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_math.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_trig.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_sin.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_string.mod
${CMAKE_CURRENT_BINARY_DIR}/../runtime/lfortran_intrinsic_bit.mod
DESTINATION share/lpython/lib
)
endif()

# Ensure "Release" is not appended to the path on Windows:
# https://stackoverflow.com/a/56201564/479532
set_target_properties(lpython PROPERTIES RUNTIME_OUTPUT_DIRECTORY $<0:>)
Expand Down

0 comments on commit 8e74b3e

Please sign in to comment.