diff --git a/.gitignore b/.gitignore index d18b9b6284..c739b763e2 100644 --- a/.gitignore +++ b/.gitignore @@ -40,7 +40,7 @@ CPackConfig.cmake CPackSourceConfig.cmake _CPack_Packages /CMakeSettings.json -src/libasr/libasr.a.* +src/libasr/src/libasr/libasr.a.* ## libraries *.a @@ -56,10 +56,10 @@ lpython/ast/ast.py lpython/asr/asr.py src/lpython/ast.h src/lpython/asr.h -src/libasr/asr.h -src/libasr/wasm_visitor.h -src/libasr/pass/intrinsic_function_registry_util.h -src/libasr/config.h +src/libasr/src/libasr/asr.h +src/libasr/src/libasr/wasm_visitor.h +src/libasr/src/libasr/pass/intrinsic_function_registry_util.h +src/libasr/src/libasr/config.h share/jupyter/kernels/fortran/kernel.json share/jupyter/kernels/lpython/kernel.json src/runtime/*.o.empty.c diff --git a/build0.sh b/build0.sh index a69126a45e..c82d478f19 100755 --- a/build0.sh +++ b/build0.sh @@ -8,13 +8,13 @@ ci/version.sh # Generate a Python AST from Python.asdl (Python) python grammar/asdl_py.py # Generate a Python AST from Python.asdl (C++) -python src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h +python src/libasr/src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h # Generate a Fortran ASR from ASR.asdl (C++) -python src/libasr/asdl_cpp.py src/libasr/ASR.asdl src/libasr/asr.h -# Generate a wasm_visitor.h from src/libasr/wasm_instructions.txt (C++) -python src/libasr/wasm_instructions_visitor.py +python src/libasr/src/libasr/asdl_cpp.py src/libasr/src/libasr/ASR.asdl src/libasr/src/libasr/asr.h +# Generate a wasm_visitor.h from src/libasr/src/libasr/wasm_instructions.txt (C++) +python src/libasr/src/libasr/wasm_instructions_visitor.py # Generate the intrinsic_function_registry_util.h (C++) -python src/libasr/intrinsic_func_registry_util_gen.py +python src/libasr/src/libasr/intrinsic_func_registry_util_gen.py # Generate the tokenizer and parser (cd src/lpython/parser && re2c -W -b tokenizer.re -o tokenizer.cpp) diff --git a/build0_win.xsh b/build0_win.xsh index b8bba80f43..f2b3bd9533 100644 --- a/build0_win.xsh +++ b/build0_win.xsh @@ -7,13 +7,13 @@ echo @(version) > version # Generate a Python AST from Python.asdl (Python) python grammar/asdl_py.py # Generate a Python AST from Python.asdl (C++) -python src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h +python src/libasr/src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h # Generate a Fortran ASR from ASR.asdl (C++) -python src/libasr/asdl_cpp.py src/libasr/ASR.asdl src/libasr/asr.h -# Generate a wasm_visitor.h from src/libasr/wasm_instructions.txt (C++) -python src/libasr/wasm_instructions_visitor.py +python src/libasr/src/libasr/asdl_cpp.py src/libasr/src/libasr/ASR.asdl src/libasr/src/libasr/asr.h +# Generate a wasm_visitor.h from src/libasr/src/libasr/wasm_instructions.txt (C++) +python src/libasr/src/libasr/wasm_instructions_visitor.py # Generate the intrinsic_function_registry_util.h (C++) -python src/libasr/intrinsic_func_registry_util_gen.py +python src/libasr/src/libasr/intrinsic_func_registry_util_gen.py # Generate the tokenizer and parser pushd src/lpython/parser && re2c -W -b tokenizer.re -o tokenizer.cpp && popd diff --git a/ci/build.xsh b/ci/build.xsh index 449d89543f..53eee140bb 100755 --- a/ci/build.xsh +++ b/ci/build.xsh @@ -27,15 +27,15 @@ llvm-config --components bash ci/version.sh # Generate a Fortran ASR from ASR.asdl (C++) -python src/libasr/asdl_cpp.py src/libasr/ASR.asdl src/libasr/asr.h +python src/libasr/src/libasr/asdl_cpp.py src/libasr/src/libasr/ASR.asdl src/libasr/src/libasr/asr.h # Generate a Python AST from Python.asdl (C++) -python src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h +python src/libasr/src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h # Generate a Python AST from Python.asdl (Python) python grammar/asdl_py.py -# Generate a wasm_visitor.h from src/libasr/wasm_instructions.txt (C++) -python src/libasr/wasm_instructions_visitor.py +# Generate a wasm_visitor.h from src/libasr/src/libasr/wasm_instructions.txt (C++) +python src/libasr/src/libasr/wasm_instructions_visitor.py # Generate the intrinsic_function_registry_util.h (C++) -python src/libasr/intrinsic_func_registry_util_gen.py +python src/libasr/src/libasr/intrinsic_func_registry_util_gen.py # Generate the tokenizer and parser pushd src/lpython/parser && re2c -W -b tokenizer.re -o tokenizer.cpp && popd diff --git a/grammar/asdl_py.py b/grammar/asdl_py.py index 1e3844131e..ff89bbdc7a 100644 --- a/grammar/asdl_py.py +++ b/grammar/asdl_py.py @@ -5,7 +5,7 @@ import sys import os -sys.path.append("src/libasr") +sys.path.append("src/libasr/src/libasr") import asdl products = [] diff --git a/run_tests.py b/run_tests.py index 42fb5fb026..064cfd3733 100755 --- a/run_tests.py +++ b/run_tests.py @@ -4,7 +4,7 @@ import os ROOT_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__))) -sys.path.append(os.path.join(ROOT_DIR, "src", "libasr")) +sys.path.append(os.path.join(ROOT_DIR, "src", "libasr", "src", "libasr")) from compiler_tester.tester import color, fg, log, run_test, style, tester_main diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 061b942762..21661b55a8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,4 @@ -add_subdirectory(libasr) +add_subdirectory(libasr/src/libasr) add_subdirectory(tests) add_subdirectory(lpython) add_subdirectory(bin) diff --git a/src/bin/CMakeLists.txt b/src/bin/CMakeLists.txt index 72a1a1a11c..c6f9376613 100644 --- a/src/bin/CMakeLists.txt +++ b/src/bin/CMakeLists.txt @@ -33,7 +33,7 @@ if (WITH_STACKTRACE AND APPLE AND CMAKE_CXX_COMPILER_ID MATCHES Clang) add_custom_command( TARGET lpython POST_BUILD - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../libasr/dwarf_convert.py lpython.dSYM/raw.txt lpython.dSYM/lines.txt lpython.dSYM/lines.dat + COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../libasr/src/libasr/dwarf_convert.py lpython.dSYM/raw.txt lpython.dSYM/lines.txt lpython.dSYM/lines.dat ) endif() endif() diff --git a/src/bin/lpython.cpp b/src/bin/lpython.cpp index be8af27d0c..47296cf2ac 100644 --- a/src/bin/lpython.cpp +++ b/src/bin/lpython.cpp @@ -856,9 +856,9 @@ int interactive_python_repl( std::cout << " - History (Keys: Up, Down)" << std::endl; std::vector history; - + std::function iscomplete = determine_completeness; - + std::string code_string; size_t cell_count = 0; while (true) { @@ -1013,8 +1013,8 @@ int interactive_python_repl( } case (LCompilers::PythonCompiler::EvalResult::struct_type) : { if (verbose) { - std::cout << "Return type: " - << LCompilers::ASRUtils::get_type_code(r.structure.ttype) + std::cout << "Return type: " + << LCompilers::ASRUtils::get_type_code(r.structure.ttype) << std::endl; } if (verbose) section("Result:"); @@ -2261,9 +2261,9 @@ int main(int argc, char *argv[]) #else cmd += "llvm-dwarfdump --debug-line " + basename + ".out > "; #endif - cmd += basename + "_ldd.txt && (cd src/libasr; ./dwarf_convert.py ../../" - + basename + "_ldd.txt ../../" + basename + "_lines.txt ../../" - + basename + "_lines.dat && ./dat_convert.py ../../" + cmd += basename + "_ldd.txt && (cd src/libasr/src/libasr; ./dwarf_convert.py ../../../../" + + basename + "_ldd.txt ../../../../" + basename + "_lines.txt ../../../../" + + basename + "_lines.dat && ./dat_convert.py ../../../../" + basename + "_lines.dat)"; int status = system(cmd.c_str()); if ( status != 0 ) { diff --git a/src/libasr/ASR.asdl b/src/libasr/src/libasr/ASR.asdl similarity index 100% rename from src/libasr/ASR.asdl rename to src/libasr/src/libasr/ASR.asdl diff --git a/src/libasr/CMakeLists.txt b/src/libasr/src/libasr/CMakeLists.txt similarity index 94% rename from src/libasr/CMakeLists.txt rename to src/libasr/src/libasr/CMakeLists.txt index 0d69d7cfaa..e8b2460d4f 100644 --- a/src/libasr/CMakeLists.txt +++ b/src/libasr/src/libasr/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) -project(libasr) +project(libasr/src/libasr) if (NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 17 @@ -103,8 +103,8 @@ if (WITH_LLVM) endif() endif() add_library(asr STATIC ${SRC}) -target_include_directories(asr BEFORE PUBLIC ${libasr_SOURCE_DIR}/..) -target_include_directories(asr BEFORE PUBLIC ${libasr_BINARY_DIR}/..) +target_include_directories(asr BEFORE PUBLIC ${libasr/src/libasr_SOURCE_DIR}/..) +target_include_directories(asr BEFORE PUBLIC ${libasr/src/libasr_BINARY_DIR}/..) if (WITH_BFD) target_link_libraries(asr p::bfd) endif() diff --git a/src/libasr/alloc.h b/src/libasr/src/libasr/alloc.h similarity index 100% rename from src/libasr/alloc.h rename to src/libasr/src/libasr/alloc.h diff --git a/src/libasr/asdl.py b/src/libasr/src/libasr/asdl.py similarity index 100% rename from src/libasr/asdl.py rename to src/libasr/src/libasr/asdl.py diff --git a/src/libasr/asdl_cpp.py b/src/libasr/src/libasr/asdl_cpp.py similarity index 100% rename from src/libasr/asdl_cpp.py rename to src/libasr/src/libasr/asdl_cpp.py diff --git a/src/libasr/asr_builder.h b/src/libasr/src/libasr/asr_builder.h similarity index 100% rename from src/libasr/asr_builder.h rename to src/libasr/src/libasr/asr_builder.h diff --git a/src/libasr/asr_scopes.cpp b/src/libasr/src/libasr/asr_scopes.cpp similarity index 100% rename from src/libasr/asr_scopes.cpp rename to src/libasr/src/libasr/asr_scopes.cpp diff --git a/src/libasr/asr_scopes.h b/src/libasr/src/libasr/asr_scopes.h similarity index 100% rename from src/libasr/asr_scopes.h rename to src/libasr/src/libasr/asr_scopes.h diff --git a/src/libasr/asr_utils.cpp b/src/libasr/src/libasr/asr_utils.cpp similarity index 100% rename from src/libasr/asr_utils.cpp rename to src/libasr/src/libasr/asr_utils.cpp diff --git a/src/libasr/asr_utils.h b/src/libasr/src/libasr/asr_utils.h similarity index 100% rename from src/libasr/asr_utils.h rename to src/libasr/src/libasr/asr_utils.h diff --git a/src/libasr/asr_verify.cpp b/src/libasr/src/libasr/asr_verify.cpp similarity index 100% rename from src/libasr/asr_verify.cpp rename to src/libasr/src/libasr/asr_verify.cpp diff --git a/src/libasr/asr_verify.h b/src/libasr/src/libasr/asr_verify.h similarity index 100% rename from src/libasr/asr_verify.h rename to src/libasr/src/libasr/asr_verify.h diff --git a/src/libasr/assert.h b/src/libasr/src/libasr/assert.h similarity index 100% rename from src/libasr/assert.h rename to src/libasr/src/libasr/assert.h diff --git a/src/libasr/bigint.h b/src/libasr/src/libasr/bigint.h similarity index 100% rename from src/libasr/bigint.h rename to src/libasr/src/libasr/bigint.h diff --git a/src/libasr/bwriter.h b/src/libasr/src/libasr/bwriter.h similarity index 100% rename from src/libasr/bwriter.h rename to src/libasr/src/libasr/bwriter.h diff --git a/src/libasr/casting_utils.cpp b/src/libasr/src/libasr/casting_utils.cpp similarity index 100% rename from src/libasr/casting_utils.cpp rename to src/libasr/src/libasr/casting_utils.cpp diff --git a/src/libasr/casting_utils.h b/src/libasr/src/libasr/casting_utils.h similarity index 100% rename from src/libasr/casting_utils.h rename to src/libasr/src/libasr/casting_utils.h diff --git a/src/libasr/codegen/KaleidoscopeJIT.h b/src/libasr/src/libasr/codegen/KaleidoscopeJIT.h similarity index 100% rename from src/libasr/codegen/KaleidoscopeJIT.h rename to src/libasr/src/libasr/codegen/KaleidoscopeJIT.h diff --git a/src/libasr/codegen/asr_to_c.cpp b/src/libasr/src/libasr/codegen/asr_to_c.cpp similarity index 100% rename from src/libasr/codegen/asr_to_c.cpp rename to src/libasr/src/libasr/codegen/asr_to_c.cpp diff --git a/src/libasr/codegen/asr_to_c.h b/src/libasr/src/libasr/codegen/asr_to_c.h similarity index 100% rename from src/libasr/codegen/asr_to_c.h rename to src/libasr/src/libasr/codegen/asr_to_c.h diff --git a/src/libasr/codegen/asr_to_c_cpp.h b/src/libasr/src/libasr/codegen/asr_to_c_cpp.h similarity index 100% rename from src/libasr/codegen/asr_to_c_cpp.h rename to src/libasr/src/libasr/codegen/asr_to_c_cpp.h diff --git a/src/libasr/codegen/asr_to_cpp.cpp b/src/libasr/src/libasr/codegen/asr_to_cpp.cpp similarity index 100% rename from src/libasr/codegen/asr_to_cpp.cpp rename to src/libasr/src/libasr/codegen/asr_to_cpp.cpp diff --git a/src/libasr/codegen/asr_to_cpp.h b/src/libasr/src/libasr/codegen/asr_to_cpp.h similarity index 100% rename from src/libasr/codegen/asr_to_cpp.h rename to src/libasr/src/libasr/codegen/asr_to_cpp.h diff --git a/src/libasr/codegen/asr_to_fortran.cpp b/src/libasr/src/libasr/codegen/asr_to_fortran.cpp similarity index 100% rename from src/libasr/codegen/asr_to_fortran.cpp rename to src/libasr/src/libasr/codegen/asr_to_fortran.cpp diff --git a/src/libasr/codegen/asr_to_fortran.h b/src/libasr/src/libasr/codegen/asr_to_fortran.h similarity index 100% rename from src/libasr/codegen/asr_to_fortran.h rename to src/libasr/src/libasr/codegen/asr_to_fortran.h diff --git a/src/libasr/codegen/asr_to_julia.cpp b/src/libasr/src/libasr/codegen/asr_to_julia.cpp similarity index 100% rename from src/libasr/codegen/asr_to_julia.cpp rename to src/libasr/src/libasr/codegen/asr_to_julia.cpp diff --git a/src/libasr/codegen/asr_to_julia.h b/src/libasr/src/libasr/codegen/asr_to_julia.h similarity index 100% rename from src/libasr/codegen/asr_to_julia.h rename to src/libasr/src/libasr/codegen/asr_to_julia.h diff --git a/src/libasr/codegen/asr_to_llvm.cpp b/src/libasr/src/libasr/codegen/asr_to_llvm.cpp similarity index 100% rename from src/libasr/codegen/asr_to_llvm.cpp rename to src/libasr/src/libasr/codegen/asr_to_llvm.cpp diff --git a/src/libasr/codegen/asr_to_llvm.h b/src/libasr/src/libasr/codegen/asr_to_llvm.h similarity index 100% rename from src/libasr/codegen/asr_to_llvm.h rename to src/libasr/src/libasr/codegen/asr_to_llvm.h diff --git a/src/libasr/codegen/asr_to_py.cpp b/src/libasr/src/libasr/codegen/asr_to_py.cpp similarity index 100% rename from src/libasr/codegen/asr_to_py.cpp rename to src/libasr/src/libasr/codegen/asr_to_py.cpp diff --git a/src/libasr/codegen/asr_to_py.h b/src/libasr/src/libasr/codegen/asr_to_py.h similarity index 100% rename from src/libasr/codegen/asr_to_py.h rename to src/libasr/src/libasr/codegen/asr_to_py.h diff --git a/src/libasr/codegen/asr_to_python.cpp b/src/libasr/src/libasr/codegen/asr_to_python.cpp similarity index 100% rename from src/libasr/codegen/asr_to_python.cpp rename to src/libasr/src/libasr/codegen/asr_to_python.cpp diff --git a/src/libasr/codegen/asr_to_python.h b/src/libasr/src/libasr/codegen/asr_to_python.h similarity index 100% rename from src/libasr/codegen/asr_to_python.h rename to src/libasr/src/libasr/codegen/asr_to_python.h diff --git a/src/libasr/codegen/asr_to_wasm.cpp b/src/libasr/src/libasr/codegen/asr_to_wasm.cpp similarity index 100% rename from src/libasr/codegen/asr_to_wasm.cpp rename to src/libasr/src/libasr/codegen/asr_to_wasm.cpp diff --git a/src/libasr/codegen/asr_to_wasm.h b/src/libasr/src/libasr/codegen/asr_to_wasm.h similarity index 100% rename from src/libasr/codegen/asr_to_wasm.h rename to src/libasr/src/libasr/codegen/asr_to_wasm.h diff --git a/src/libasr/codegen/asr_to_x86.cpp b/src/libasr/src/libasr/codegen/asr_to_x86.cpp similarity index 100% rename from src/libasr/codegen/asr_to_x86.cpp rename to src/libasr/src/libasr/codegen/asr_to_x86.cpp diff --git a/src/libasr/codegen/asr_to_x86.h b/src/libasr/src/libasr/codegen/asr_to_x86.h similarity index 100% rename from src/libasr/codegen/asr_to_x86.h rename to src/libasr/src/libasr/codegen/asr_to_x86.h diff --git a/src/libasr/codegen/c_utils.h b/src/libasr/src/libasr/codegen/c_utils.h similarity index 100% rename from src/libasr/codegen/c_utils.h rename to src/libasr/src/libasr/codegen/c_utils.h diff --git a/src/libasr/codegen/evaluator.cpp b/src/libasr/src/libasr/codegen/evaluator.cpp similarity index 100% rename from src/libasr/codegen/evaluator.cpp rename to src/libasr/src/libasr/codegen/evaluator.cpp diff --git a/src/libasr/codegen/evaluator.h b/src/libasr/src/libasr/codegen/evaluator.h similarity index 100% rename from src/libasr/codegen/evaluator.h rename to src/libasr/src/libasr/codegen/evaluator.h diff --git a/src/libasr/codegen/llvm_array_utils.cpp b/src/libasr/src/libasr/codegen/llvm_array_utils.cpp similarity index 100% rename from src/libasr/codegen/llvm_array_utils.cpp rename to src/libasr/src/libasr/codegen/llvm_array_utils.cpp diff --git a/src/libasr/codegen/llvm_array_utils.h b/src/libasr/src/libasr/codegen/llvm_array_utils.h similarity index 100% rename from src/libasr/codegen/llvm_array_utils.h rename to src/libasr/src/libasr/codegen/llvm_array_utils.h diff --git a/src/libasr/codegen/llvm_utils.cpp b/src/libasr/src/libasr/codegen/llvm_utils.cpp similarity index 100% rename from src/libasr/codegen/llvm_utils.cpp rename to src/libasr/src/libasr/codegen/llvm_utils.cpp diff --git a/src/libasr/codegen/llvm_utils.h b/src/libasr/src/libasr/codegen/llvm_utils.h similarity index 100% rename from src/libasr/codegen/llvm_utils.h rename to src/libasr/src/libasr/codegen/llvm_utils.h diff --git a/src/libasr/codegen/wasm_assembler.h b/src/libasr/src/libasr/codegen/wasm_assembler.h similarity index 100% rename from src/libasr/codegen/wasm_assembler.h rename to src/libasr/src/libasr/codegen/wasm_assembler.h diff --git a/src/libasr/codegen/wasm_decoder.h b/src/libasr/src/libasr/codegen/wasm_decoder.h similarity index 100% rename from src/libasr/codegen/wasm_decoder.h rename to src/libasr/src/libasr/codegen/wasm_decoder.h diff --git a/src/libasr/codegen/wasm_to_wat.cpp b/src/libasr/src/libasr/codegen/wasm_to_wat.cpp similarity index 100% rename from src/libasr/codegen/wasm_to_wat.cpp rename to src/libasr/src/libasr/codegen/wasm_to_wat.cpp diff --git a/src/libasr/codegen/wasm_to_wat.h b/src/libasr/src/libasr/codegen/wasm_to_wat.h similarity index 100% rename from src/libasr/codegen/wasm_to_wat.h rename to src/libasr/src/libasr/codegen/wasm_to_wat.h diff --git a/src/libasr/codegen/wasm_to_x64.cpp b/src/libasr/src/libasr/codegen/wasm_to_x64.cpp similarity index 100% rename from src/libasr/codegen/wasm_to_x64.cpp rename to src/libasr/src/libasr/codegen/wasm_to_x64.cpp diff --git a/src/libasr/codegen/wasm_to_x64.h b/src/libasr/src/libasr/codegen/wasm_to_x64.h similarity index 100% rename from src/libasr/codegen/wasm_to_x64.h rename to src/libasr/src/libasr/codegen/wasm_to_x64.h diff --git a/src/libasr/codegen/wasm_to_x86.cpp b/src/libasr/src/libasr/codegen/wasm_to_x86.cpp similarity index 100% rename from src/libasr/codegen/wasm_to_x86.cpp rename to src/libasr/src/libasr/codegen/wasm_to_x86.cpp diff --git a/src/libasr/codegen/wasm_to_x86.h b/src/libasr/src/libasr/codegen/wasm_to_x86.h similarity index 100% rename from src/libasr/codegen/wasm_to_x86.h rename to src/libasr/src/libasr/codegen/wasm_to_x86.h diff --git a/src/libasr/codegen/wasm_utils.cpp b/src/libasr/src/libasr/codegen/wasm_utils.cpp similarity index 100% rename from src/libasr/codegen/wasm_utils.cpp rename to src/libasr/src/libasr/codegen/wasm_utils.cpp diff --git a/src/libasr/codegen/wasm_utils.h b/src/libasr/src/libasr/codegen/wasm_utils.h similarity index 100% rename from src/libasr/codegen/wasm_utils.h rename to src/libasr/src/libasr/codegen/wasm_utils.h diff --git a/src/libasr/codegen/x86_assembler.cpp b/src/libasr/src/libasr/codegen/x86_assembler.cpp similarity index 100% rename from src/libasr/codegen/x86_assembler.cpp rename to src/libasr/src/libasr/codegen/x86_assembler.cpp diff --git a/src/libasr/codegen/x86_assembler.h b/src/libasr/src/libasr/codegen/x86_assembler.h similarity index 100% rename from src/libasr/codegen/x86_assembler.h rename to src/libasr/src/libasr/codegen/x86_assembler.h diff --git a/src/libasr/colors.h b/src/libasr/src/libasr/colors.h similarity index 100% rename from src/libasr/colors.h rename to src/libasr/src/libasr/colors.h diff --git a/src/libasr/compiler_tester/__init__.py b/src/libasr/src/libasr/compiler_tester/__init__.py similarity index 100% rename from src/libasr/compiler_tester/__init__.py rename to src/libasr/src/libasr/compiler_tester/__init__.py diff --git a/src/libasr/compiler_tester/tester.py b/src/libasr/src/libasr/compiler_tester/tester.py similarity index 99% rename from src/libasr/compiler_tester/tester.py rename to src/libasr/src/libasr/compiler_tester/tester.py index bd6d7e62e5..41cba79b63 100644 --- a/src/libasr/compiler_tester/tester.py +++ b/src/libasr/src/libasr/compiler_tester/tester.py @@ -25,6 +25,8 @@ TESTER_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__))) +if "src/libasr/src/libasr" in TESTER_DIR: + TESTER_DIR = TESTER_DIR.replace("src/libasr", "", 1) LIBASR_DIR = os.path.dirname(TESTER_DIR) SRC_DIR = os.path.dirname(LIBASR_DIR) ROOT_DIR = os.path.dirname(SRC_DIR) diff --git a/src/libasr/config.h.in b/src/libasr/src/libasr/config.h.in similarity index 100% rename from src/libasr/config.h.in rename to src/libasr/src/libasr/config.h.in diff --git a/src/libasr/containers.h b/src/libasr/src/libasr/containers.h similarity index 100% rename from src/libasr/containers.h rename to src/libasr/src/libasr/containers.h diff --git a/src/libasr/dat_convert.py b/src/libasr/src/libasr/dat_convert.py similarity index 100% rename from src/libasr/dat_convert.py rename to src/libasr/src/libasr/dat_convert.py diff --git a/src/libasr/diagnostics.cpp b/src/libasr/src/libasr/diagnostics.cpp similarity index 100% rename from src/libasr/diagnostics.cpp rename to src/libasr/src/libasr/diagnostics.cpp diff --git a/src/libasr/diagnostics.h b/src/libasr/src/libasr/diagnostics.h similarity index 100% rename from src/libasr/diagnostics.h rename to src/libasr/src/libasr/diagnostics.h diff --git a/src/libasr/dwarf_convert.py b/src/libasr/src/libasr/dwarf_convert.py similarity index 100% rename from src/libasr/dwarf_convert.py rename to src/libasr/src/libasr/dwarf_convert.py diff --git a/src/libasr/exception.h b/src/libasr/src/libasr/exception.h similarity index 100% rename from src/libasr/exception.h rename to src/libasr/src/libasr/exception.h diff --git a/src/libasr/gen_pass.py b/src/libasr/src/libasr/gen_pass.py similarity index 100% rename from src/libasr/gen_pass.py rename to src/libasr/src/libasr/gen_pass.py diff --git a/src/libasr/intrinsic_func_registry_util_gen.py b/src/libasr/src/libasr/intrinsic_func_registry_util_gen.py similarity index 100% rename from src/libasr/intrinsic_func_registry_util_gen.py rename to src/libasr/src/libasr/intrinsic_func_registry_util_gen.py diff --git a/src/libasr/location.h b/src/libasr/src/libasr/location.h similarity index 100% rename from src/libasr/location.h rename to src/libasr/src/libasr/location.h diff --git a/src/libasr/lsp_interface.h b/src/libasr/src/libasr/lsp_interface.h similarity index 100% rename from src/libasr/lsp_interface.h rename to src/libasr/src/libasr/lsp_interface.h diff --git a/src/libasr/modfile.cpp b/src/libasr/src/libasr/modfile.cpp similarity index 100% rename from src/libasr/modfile.cpp rename to src/libasr/src/libasr/modfile.cpp diff --git a/src/libasr/modfile.h b/src/libasr/src/libasr/modfile.h similarity index 100% rename from src/libasr/modfile.h rename to src/libasr/src/libasr/modfile.h diff --git a/src/libasr/pass/arr_slice.cpp b/src/libasr/src/libasr/pass/arr_slice.cpp similarity index 100% rename from src/libasr/pass/arr_slice.cpp rename to src/libasr/src/libasr/pass/arr_slice.cpp diff --git a/src/libasr/pass/array_by_data.h b/src/libasr/src/libasr/pass/array_by_data.h similarity index 100% rename from src/libasr/pass/array_by_data.h rename to src/libasr/src/libasr/pass/array_by_data.h diff --git a/src/libasr/pass/array_op.cpp b/src/libasr/src/libasr/pass/array_op.cpp similarity index 100% rename from src/libasr/pass/array_op.cpp rename to src/libasr/src/libasr/pass/array_op.cpp diff --git a/src/libasr/pass/class_constructor.cpp b/src/libasr/src/libasr/pass/class_constructor.cpp similarity index 100% rename from src/libasr/pass/class_constructor.cpp rename to src/libasr/src/libasr/pass/class_constructor.cpp diff --git a/src/libasr/pass/compare.h b/src/libasr/src/libasr/pass/compare.h similarity index 100% rename from src/libasr/pass/compare.h rename to src/libasr/src/libasr/pass/compare.h diff --git a/src/libasr/pass/create_subroutine_from_function.h b/src/libasr/src/libasr/pass/create_subroutine_from_function.h similarity index 100% rename from src/libasr/pass/create_subroutine_from_function.h rename to src/libasr/src/libasr/pass/create_subroutine_from_function.h diff --git a/src/libasr/pass/dead_code_removal.cpp b/src/libasr/src/libasr/pass/dead_code_removal.cpp similarity index 100% rename from src/libasr/pass/dead_code_removal.cpp rename to src/libasr/src/libasr/pass/dead_code_removal.cpp diff --git a/src/libasr/pass/dead_code_removal.h b/src/libasr/src/libasr/pass/dead_code_removal.h similarity index 100% rename from src/libasr/pass/dead_code_removal.h rename to src/libasr/src/libasr/pass/dead_code_removal.h diff --git a/src/libasr/pass/div_to_mul.cpp b/src/libasr/src/libasr/pass/div_to_mul.cpp similarity index 100% rename from src/libasr/pass/div_to_mul.cpp rename to src/libasr/src/libasr/pass/div_to_mul.cpp diff --git a/src/libasr/pass/do_loops.cpp b/src/libasr/src/libasr/pass/do_loops.cpp similarity index 100% rename from src/libasr/pass/do_loops.cpp rename to src/libasr/src/libasr/pass/do_loops.cpp diff --git a/src/libasr/pass/flip_sign.cpp b/src/libasr/src/libasr/pass/flip_sign.cpp similarity index 100% rename from src/libasr/pass/flip_sign.cpp rename to src/libasr/src/libasr/pass/flip_sign.cpp diff --git a/src/libasr/pass/fma.cpp b/src/libasr/src/libasr/pass/fma.cpp similarity index 100% rename from src/libasr/pass/fma.cpp rename to src/libasr/src/libasr/pass/fma.cpp diff --git a/src/libasr/pass/for_all.cpp b/src/libasr/src/libasr/pass/for_all.cpp similarity index 100% rename from src/libasr/pass/for_all.cpp rename to src/libasr/src/libasr/pass/for_all.cpp diff --git a/src/libasr/pass/function_call_in_declaration.cpp b/src/libasr/src/libasr/pass/function_call_in_declaration.cpp similarity index 100% rename from src/libasr/pass/function_call_in_declaration.cpp rename to src/libasr/src/libasr/pass/function_call_in_declaration.cpp diff --git a/src/libasr/pass/global_stmts.cpp b/src/libasr/src/libasr/pass/global_stmts.cpp similarity index 100% rename from src/libasr/pass/global_stmts.cpp rename to src/libasr/src/libasr/pass/global_stmts.cpp diff --git a/src/libasr/pass/implied_do_loops.cpp b/src/libasr/src/libasr/pass/implied_do_loops.cpp similarity index 100% rename from src/libasr/pass/implied_do_loops.cpp rename to src/libasr/src/libasr/pass/implied_do_loops.cpp diff --git a/src/libasr/pass/init_expr.cpp b/src/libasr/src/libasr/pass/init_expr.cpp similarity index 100% rename from src/libasr/pass/init_expr.cpp rename to src/libasr/src/libasr/pass/init_expr.cpp diff --git a/src/libasr/pass/inline_function_calls.cpp b/src/libasr/src/libasr/pass/inline_function_calls.cpp similarity index 100% rename from src/libasr/pass/inline_function_calls.cpp rename to src/libasr/src/libasr/pass/inline_function_calls.cpp diff --git a/src/libasr/pass/inline_function_calls.h b/src/libasr/src/libasr/pass/inline_function_calls.h similarity index 100% rename from src/libasr/pass/inline_function_calls.h rename to src/libasr/src/libasr/pass/inline_function_calls.h diff --git a/src/libasr/pass/insert_deallocate.cpp b/src/libasr/src/libasr/pass/insert_deallocate.cpp similarity index 100% rename from src/libasr/pass/insert_deallocate.cpp rename to src/libasr/src/libasr/pass/insert_deallocate.cpp diff --git a/src/libasr/pass/insert_deallocate.h b/src/libasr/src/libasr/pass/insert_deallocate.h similarity index 100% rename from src/libasr/pass/insert_deallocate.h rename to src/libasr/src/libasr/pass/insert_deallocate.h diff --git a/src/libasr/pass/instantiate_template.cpp b/src/libasr/src/libasr/pass/instantiate_template.cpp similarity index 100% rename from src/libasr/pass/instantiate_template.cpp rename to src/libasr/src/libasr/pass/instantiate_template.cpp diff --git a/src/libasr/pass/instantiate_template.h b/src/libasr/src/libasr/pass/instantiate_template.h similarity index 100% rename from src/libasr/pass/instantiate_template.h rename to src/libasr/src/libasr/pass/instantiate_template.h diff --git a/src/libasr/pass/intrinsic_array_function_registry.h b/src/libasr/src/libasr/pass/intrinsic_array_function_registry.h similarity index 100% rename from src/libasr/pass/intrinsic_array_function_registry.h rename to src/libasr/src/libasr/pass/intrinsic_array_function_registry.h diff --git a/src/libasr/pass/intrinsic_function.cpp b/src/libasr/src/libasr/pass/intrinsic_function.cpp similarity index 100% rename from src/libasr/pass/intrinsic_function.cpp rename to src/libasr/src/libasr/pass/intrinsic_function.cpp diff --git a/src/libasr/pass/intrinsic_function_registry.h b/src/libasr/src/libasr/pass/intrinsic_function_registry.h similarity index 100% rename from src/libasr/pass/intrinsic_function_registry.h rename to src/libasr/src/libasr/pass/intrinsic_function_registry.h diff --git a/src/libasr/pass/intrinsic_functions.h b/src/libasr/src/libasr/pass/intrinsic_functions.h similarity index 100% rename from src/libasr/pass/intrinsic_functions.h rename to src/libasr/src/libasr/pass/intrinsic_functions.h diff --git a/src/libasr/pass/intrinsic_subroutine.cpp b/src/libasr/src/libasr/pass/intrinsic_subroutine.cpp similarity index 100% rename from src/libasr/pass/intrinsic_subroutine.cpp rename to src/libasr/src/libasr/pass/intrinsic_subroutine.cpp diff --git a/src/libasr/pass/intrinsic_subroutine_registry.h b/src/libasr/src/libasr/pass/intrinsic_subroutine_registry.h similarity index 100% rename from src/libasr/pass/intrinsic_subroutine_registry.h rename to src/libasr/src/libasr/pass/intrinsic_subroutine_registry.h diff --git a/src/libasr/pass/intrinsic_subroutines.h b/src/libasr/src/libasr/pass/intrinsic_subroutines.h similarity index 100% rename from src/libasr/pass/intrinsic_subroutines.h rename to src/libasr/src/libasr/pass/intrinsic_subroutines.h diff --git a/src/libasr/pass/list_expr.h b/src/libasr/src/libasr/pass/list_expr.h similarity index 100% rename from src/libasr/pass/list_expr.h rename to src/libasr/src/libasr/pass/list_expr.h diff --git a/src/libasr/pass/loop_unroll.cpp b/src/libasr/src/libasr/pass/loop_unroll.cpp similarity index 100% rename from src/libasr/pass/loop_unroll.cpp rename to src/libasr/src/libasr/pass/loop_unroll.cpp diff --git a/src/libasr/pass/loop_unroll.h b/src/libasr/src/libasr/pass/loop_unroll.h similarity index 100% rename from src/libasr/pass/loop_unroll.h rename to src/libasr/src/libasr/pass/loop_unroll.h diff --git a/src/libasr/pass/loop_vectorise.cpp b/src/libasr/src/libasr/pass/loop_vectorise.cpp similarity index 100% rename from src/libasr/pass/loop_vectorise.cpp rename to src/libasr/src/libasr/pass/loop_vectorise.cpp diff --git a/src/libasr/pass/loop_vectorise.h b/src/libasr/src/libasr/pass/loop_vectorise.h similarity index 100% rename from src/libasr/pass/loop_vectorise.h rename to src/libasr/src/libasr/pass/loop_vectorise.h diff --git a/src/libasr/pass/nested_vars.cpp b/src/libasr/src/libasr/pass/nested_vars.cpp similarity index 100% rename from src/libasr/pass/nested_vars.cpp rename to src/libasr/src/libasr/pass/nested_vars.cpp diff --git a/src/libasr/pass/nested_vars.h b/src/libasr/src/libasr/pass/nested_vars.h similarity index 100% rename from src/libasr/pass/nested_vars.h rename to src/libasr/src/libasr/pass/nested_vars.h diff --git a/src/libasr/pass/param_to_const.cpp b/src/libasr/src/libasr/pass/param_to_const.cpp similarity index 100% rename from src/libasr/pass/param_to_const.cpp rename to src/libasr/src/libasr/pass/param_to_const.cpp diff --git a/src/libasr/pass/pass_array_by_data.cpp b/src/libasr/src/libasr/pass/pass_array_by_data.cpp similarity index 100% rename from src/libasr/pass/pass_array_by_data.cpp rename to src/libasr/src/libasr/pass/pass_array_by_data.cpp diff --git a/src/libasr/pass/pass_compare.cpp b/src/libasr/src/libasr/pass/pass_compare.cpp similarity index 100% rename from src/libasr/pass/pass_compare.cpp rename to src/libasr/src/libasr/pass/pass_compare.cpp diff --git a/src/libasr/pass/pass_list_expr.cpp b/src/libasr/src/libasr/pass/pass_list_expr.cpp similarity index 100% rename from src/libasr/pass/pass_list_expr.cpp rename to src/libasr/src/libasr/pass/pass_list_expr.cpp diff --git a/src/libasr/pass/pass_manager.h b/src/libasr/src/libasr/pass/pass_manager.h similarity index 100% rename from src/libasr/pass/pass_manager.h rename to src/libasr/src/libasr/pass/pass_manager.h diff --git a/src/libasr/pass/pass_utils.cpp b/src/libasr/src/libasr/pass/pass_utils.cpp similarity index 100% rename from src/libasr/pass/pass_utils.cpp rename to src/libasr/src/libasr/pass/pass_utils.cpp diff --git a/src/libasr/pass/pass_utils.h b/src/libasr/src/libasr/pass/pass_utils.h similarity index 100% rename from src/libasr/pass/pass_utils.h rename to src/libasr/src/libasr/pass/pass_utils.h diff --git a/src/libasr/pass/print_arr.cpp b/src/libasr/src/libasr/pass/print_arr.cpp similarity index 100% rename from src/libasr/pass/print_arr.cpp rename to src/libasr/src/libasr/pass/print_arr.cpp diff --git a/src/libasr/pass/print_list_tuple.cpp b/src/libasr/src/libasr/pass/print_list_tuple.cpp similarity index 100% rename from src/libasr/pass/print_list_tuple.cpp rename to src/libasr/src/libasr/pass/print_list_tuple.cpp diff --git a/src/libasr/pass/print_struct_type.cpp b/src/libasr/src/libasr/pass/print_struct_type.cpp similarity index 100% rename from src/libasr/pass/print_struct_type.cpp rename to src/libasr/src/libasr/pass/print_struct_type.cpp diff --git a/src/libasr/pass/promote_allocatable_to_nonallocatable.cpp b/src/libasr/src/libasr/pass/promote_allocatable_to_nonallocatable.cpp similarity index 100% rename from src/libasr/pass/promote_allocatable_to_nonallocatable.cpp rename to src/libasr/src/libasr/pass/promote_allocatable_to_nonallocatable.cpp diff --git a/src/libasr/pass/promote_allocatable_to_nonallocatable.h b/src/libasr/src/libasr/pass/promote_allocatable_to_nonallocatable.h similarity index 100% rename from src/libasr/pass/promote_allocatable_to_nonallocatable.h rename to src/libasr/src/libasr/pass/promote_allocatable_to_nonallocatable.h diff --git a/src/libasr/pass/python_bind.cpp b/src/libasr/src/libasr/pass/python_bind.cpp similarity index 100% rename from src/libasr/pass/python_bind.cpp rename to src/libasr/src/libasr/pass/python_bind.cpp diff --git a/src/libasr/pass/python_bind.h b/src/libasr/src/libasr/pass/python_bind.h similarity index 100% rename from src/libasr/pass/python_bind.h rename to src/libasr/src/libasr/pass/python_bind.h diff --git a/src/libasr/pass/replace_arr_slice.h b/src/libasr/src/libasr/pass/replace_arr_slice.h similarity index 100% rename from src/libasr/pass/replace_arr_slice.h rename to src/libasr/src/libasr/pass/replace_arr_slice.h diff --git a/src/libasr/pass/replace_array_op.h b/src/libasr/src/libasr/pass/replace_array_op.h similarity index 100% rename from src/libasr/pass/replace_array_op.h rename to src/libasr/src/libasr/pass/replace_array_op.h diff --git a/src/libasr/pass/replace_class_constructor.h b/src/libasr/src/libasr/pass/replace_class_constructor.h similarity index 100% rename from src/libasr/pass/replace_class_constructor.h rename to src/libasr/src/libasr/pass/replace_class_constructor.h diff --git a/src/libasr/pass/replace_div_to_mul.h b/src/libasr/src/libasr/pass/replace_div_to_mul.h similarity index 100% rename from src/libasr/pass/replace_div_to_mul.h rename to src/libasr/src/libasr/pass/replace_div_to_mul.h diff --git a/src/libasr/pass/replace_do_loops.h b/src/libasr/src/libasr/pass/replace_do_loops.h similarity index 100% rename from src/libasr/pass/replace_do_loops.h rename to src/libasr/src/libasr/pass/replace_do_loops.h diff --git a/src/libasr/pass/replace_flip_sign.h b/src/libasr/src/libasr/pass/replace_flip_sign.h similarity index 100% rename from src/libasr/pass/replace_flip_sign.h rename to src/libasr/src/libasr/pass/replace_flip_sign.h diff --git a/src/libasr/pass/replace_fma.h b/src/libasr/src/libasr/pass/replace_fma.h similarity index 100% rename from src/libasr/pass/replace_fma.h rename to src/libasr/src/libasr/pass/replace_fma.h diff --git a/src/libasr/pass/replace_for_all.h b/src/libasr/src/libasr/pass/replace_for_all.h similarity index 100% rename from src/libasr/pass/replace_for_all.h rename to src/libasr/src/libasr/pass/replace_for_all.h diff --git a/src/libasr/pass/replace_function_call_in_declaration.h b/src/libasr/src/libasr/pass/replace_function_call_in_declaration.h similarity index 100% rename from src/libasr/pass/replace_function_call_in_declaration.h rename to src/libasr/src/libasr/pass/replace_function_call_in_declaration.h diff --git a/src/libasr/pass/replace_implied_do_loops.h b/src/libasr/src/libasr/pass/replace_implied_do_loops.h similarity index 100% rename from src/libasr/pass/replace_implied_do_loops.h rename to src/libasr/src/libasr/pass/replace_implied_do_loops.h diff --git a/src/libasr/pass/replace_init_expr.h b/src/libasr/src/libasr/pass/replace_init_expr.h similarity index 100% rename from src/libasr/pass/replace_init_expr.h rename to src/libasr/src/libasr/pass/replace_init_expr.h diff --git a/src/libasr/pass/replace_intrinsic_function.h b/src/libasr/src/libasr/pass/replace_intrinsic_function.h similarity index 100% rename from src/libasr/pass/replace_intrinsic_function.h rename to src/libasr/src/libasr/pass/replace_intrinsic_function.h diff --git a/src/libasr/pass/replace_intrinsic_subroutine.h b/src/libasr/src/libasr/pass/replace_intrinsic_subroutine.h similarity index 100% rename from src/libasr/pass/replace_intrinsic_subroutine.h rename to src/libasr/src/libasr/pass/replace_intrinsic_subroutine.h diff --git a/src/libasr/pass/replace_param_to_const.h b/src/libasr/src/libasr/pass/replace_param_to_const.h similarity index 100% rename from src/libasr/pass/replace_param_to_const.h rename to src/libasr/src/libasr/pass/replace_param_to_const.h diff --git a/src/libasr/pass/replace_print_arr.h b/src/libasr/src/libasr/pass/replace_print_arr.h similarity index 100% rename from src/libasr/pass/replace_print_arr.h rename to src/libasr/src/libasr/pass/replace_print_arr.h diff --git a/src/libasr/pass/replace_print_list_tuple.h b/src/libasr/src/libasr/pass/replace_print_list_tuple.h similarity index 100% rename from src/libasr/pass/replace_print_list_tuple.h rename to src/libasr/src/libasr/pass/replace_print_list_tuple.h diff --git a/src/libasr/pass/replace_print_struct_type.h b/src/libasr/src/libasr/pass/replace_print_struct_type.h similarity index 100% rename from src/libasr/pass/replace_print_struct_type.h rename to src/libasr/src/libasr/pass/replace_print_struct_type.h diff --git a/src/libasr/pass/replace_select_case.h b/src/libasr/src/libasr/pass/replace_select_case.h similarity index 100% rename from src/libasr/pass/replace_select_case.h rename to src/libasr/src/libasr/pass/replace_select_case.h diff --git a/src/libasr/pass/replace_sign_from_value.h b/src/libasr/src/libasr/pass/replace_sign_from_value.h similarity index 100% rename from src/libasr/pass/replace_sign_from_value.h rename to src/libasr/src/libasr/pass/replace_sign_from_value.h diff --git a/src/libasr/pass/replace_symbolic.cpp b/src/libasr/src/libasr/pass/replace_symbolic.cpp similarity index 100% rename from src/libasr/pass/replace_symbolic.cpp rename to src/libasr/src/libasr/pass/replace_symbolic.cpp diff --git a/src/libasr/pass/replace_symbolic.h b/src/libasr/src/libasr/pass/replace_symbolic.h similarity index 100% rename from src/libasr/pass/replace_symbolic.h rename to src/libasr/src/libasr/pass/replace_symbolic.h diff --git a/src/libasr/pass/replace_where.h b/src/libasr/src/libasr/pass/replace_where.h similarity index 100% rename from src/libasr/pass/replace_where.h rename to src/libasr/src/libasr/pass/replace_where.h diff --git a/src/libasr/pass/select_case.cpp b/src/libasr/src/libasr/pass/select_case.cpp similarity index 100% rename from src/libasr/pass/select_case.cpp rename to src/libasr/src/libasr/pass/select_case.cpp diff --git a/src/libasr/pass/sign_from_value.cpp b/src/libasr/src/libasr/pass/sign_from_value.cpp similarity index 100% rename from src/libasr/pass/sign_from_value.cpp rename to src/libasr/src/libasr/pass/sign_from_value.cpp diff --git a/src/libasr/pass/stmt_walk_visitor.h b/src/libasr/src/libasr/pass/stmt_walk_visitor.h similarity index 100% rename from src/libasr/pass/stmt_walk_visitor.h rename to src/libasr/src/libasr/pass/stmt_walk_visitor.h diff --git a/src/libasr/pass/subroutine_from_function.cpp b/src/libasr/src/libasr/pass/subroutine_from_function.cpp similarity index 100% rename from src/libasr/pass/subroutine_from_function.cpp rename to src/libasr/src/libasr/pass/subroutine_from_function.cpp diff --git a/src/libasr/pass/transform_optional_argument_functions.cpp b/src/libasr/src/libasr/pass/transform_optional_argument_functions.cpp similarity index 100% rename from src/libasr/pass/transform_optional_argument_functions.cpp rename to src/libasr/src/libasr/pass/transform_optional_argument_functions.cpp diff --git a/src/libasr/pass/transform_optional_argument_functions.h b/src/libasr/src/libasr/pass/transform_optional_argument_functions.h similarity index 100% rename from src/libasr/pass/transform_optional_argument_functions.h rename to src/libasr/src/libasr/pass/transform_optional_argument_functions.h diff --git a/src/libasr/pass/unique_symbols.cpp b/src/libasr/src/libasr/pass/unique_symbols.cpp similarity index 100% rename from src/libasr/pass/unique_symbols.cpp rename to src/libasr/src/libasr/pass/unique_symbols.cpp diff --git a/src/libasr/pass/unique_symbols.h b/src/libasr/src/libasr/pass/unique_symbols.h similarity index 100% rename from src/libasr/pass/unique_symbols.h rename to src/libasr/src/libasr/pass/unique_symbols.h diff --git a/src/libasr/pass/unused_functions.cpp b/src/libasr/src/libasr/pass/unused_functions.cpp similarity index 100% rename from src/libasr/pass/unused_functions.cpp rename to src/libasr/src/libasr/pass/unused_functions.cpp diff --git a/src/libasr/pass/unused_functions.h b/src/libasr/src/libasr/pass/unused_functions.h similarity index 100% rename from src/libasr/pass/unused_functions.h rename to src/libasr/src/libasr/pass/unused_functions.h diff --git a/src/libasr/pass/update_array_dim_intrinsic_calls.cpp b/src/libasr/src/libasr/pass/update_array_dim_intrinsic_calls.cpp similarity index 100% rename from src/libasr/pass/update_array_dim_intrinsic_calls.cpp rename to src/libasr/src/libasr/pass/update_array_dim_intrinsic_calls.cpp diff --git a/src/libasr/pass/update_array_dim_intrinsic_calls.h b/src/libasr/src/libasr/pass/update_array_dim_intrinsic_calls.h similarity index 100% rename from src/libasr/pass/update_array_dim_intrinsic_calls.h rename to src/libasr/src/libasr/pass/update_array_dim_intrinsic_calls.h diff --git a/src/libasr/pass/where.cpp b/src/libasr/src/libasr/pass/where.cpp similarity index 100% rename from src/libasr/pass/where.cpp rename to src/libasr/src/libasr/pass/where.cpp diff --git a/src/libasr/pass/while_else.cpp b/src/libasr/src/libasr/pass/while_else.cpp similarity index 100% rename from src/libasr/pass/while_else.cpp rename to src/libasr/src/libasr/pass/while_else.cpp diff --git a/src/libasr/pass/while_else.h b/src/libasr/src/libasr/pass/while_else.h similarity index 100% rename from src/libasr/pass/while_else.h rename to src/libasr/src/libasr/pass/while_else.h diff --git a/src/libasr/pass/wrap_global_stmts.h b/src/libasr/src/libasr/pass/wrap_global_stmts.h similarity index 100% rename from src/libasr/pass/wrap_global_stmts.h rename to src/libasr/src/libasr/pass/wrap_global_stmts.h diff --git a/src/libasr/pickle.cpp b/src/libasr/src/libasr/pickle.cpp similarity index 100% rename from src/libasr/pickle.cpp rename to src/libasr/src/libasr/pickle.cpp diff --git a/src/libasr/pickle.h b/src/libasr/src/libasr/pickle.h similarity index 100% rename from src/libasr/pickle.h rename to src/libasr/src/libasr/pickle.h diff --git a/src/libasr/runtime/lfortran_intrinsics.c b/src/libasr/src/libasr/runtime/lfortran_intrinsics.c similarity index 100% rename from src/libasr/runtime/lfortran_intrinsics.c rename to src/libasr/src/libasr/runtime/lfortran_intrinsics.c diff --git a/src/libasr/runtime/lfortran_intrinsics.h b/src/libasr/src/libasr/runtime/lfortran_intrinsics.h similarity index 100% rename from src/libasr/runtime/lfortran_intrinsics.h rename to src/libasr/src/libasr/runtime/lfortran_intrinsics.h diff --git a/src/libasr/semantic_exception.h b/src/libasr/src/libasr/semantic_exception.h similarity index 100% rename from src/libasr/semantic_exception.h rename to src/libasr/src/libasr/semantic_exception.h diff --git a/src/libasr/serialization.cpp b/src/libasr/src/libasr/serialization.cpp similarity index 100% rename from src/libasr/serialization.cpp rename to src/libasr/src/libasr/serialization.cpp diff --git a/src/libasr/serialization.h b/src/libasr/src/libasr/serialization.h similarity index 100% rename from src/libasr/serialization.h rename to src/libasr/src/libasr/serialization.h diff --git a/src/libasr/stacktrace.cpp b/src/libasr/src/libasr/stacktrace.cpp similarity index 100% rename from src/libasr/stacktrace.cpp rename to src/libasr/src/libasr/stacktrace.cpp diff --git a/src/libasr/stacktrace.h b/src/libasr/src/libasr/stacktrace.h similarity index 100% rename from src/libasr/stacktrace.h rename to src/libasr/src/libasr/stacktrace.h diff --git a/src/libasr/string_utils.cpp b/src/libasr/src/libasr/string_utils.cpp similarity index 100% rename from src/libasr/string_utils.cpp rename to src/libasr/src/libasr/string_utils.cpp diff --git a/src/libasr/string_utils.h b/src/libasr/src/libasr/string_utils.h similarity index 100% rename from src/libasr/string_utils.h rename to src/libasr/src/libasr/string_utils.h diff --git a/src/libasr/utils.h b/src/libasr/src/libasr/utils.h similarity index 100% rename from src/libasr/utils.h rename to src/libasr/src/libasr/utils.h diff --git a/src/libasr/utils2.cpp b/src/libasr/src/libasr/utils2.cpp similarity index 100% rename from src/libasr/utils2.cpp rename to src/libasr/src/libasr/utils2.cpp diff --git a/src/libasr/wasm_instructions.txt b/src/libasr/src/libasr/wasm_instructions.txt similarity index 100% rename from src/libasr/wasm_instructions.txt rename to src/libasr/src/libasr/wasm_instructions.txt diff --git a/src/libasr/wasm_instructions_visitor.py b/src/libasr/src/libasr/wasm_instructions_visitor.py similarity index 100% rename from src/libasr/wasm_instructions_visitor.py rename to src/libasr/src/libasr/wasm_instructions_visitor.py diff --git a/src/lpython/utils.cpp b/src/lpython/utils.cpp index 0dc15e71d4..07754982ad 100644 --- a/src/lpython/utils.cpp +++ b/src/lpython/utils.cpp @@ -84,7 +84,7 @@ std::string get_runtime_library_header_dir() char *env_p = std::getenv("LFORTRAN_RUNTIME_LIBRARY_HEADER_DIR"); if (env_p) return env_p; - // The header file is in src/libasr/runtime for development, but in impure + // The header file is in libasr/src/libasr/runtime for development, but in impure // in installed version std::string path; int dirname_length; @@ -94,11 +94,11 @@ std::string get_runtime_library_header_dir() || endswith(dirname, "src\\bin") || endswith(dirname, "SRC\\BIN")) { // Development version - return dirname + "/../libasr/runtime"; + return dirname + "/../libasr/src/libasr/runtime"; } else if (endswith(dirname, "src/lpython/tests") || endswith(to_lower(dirname), "src\\lpython\\tests")) { // CTest Tests - return dirname + "/../../libasr/runtime"; + return dirname + "/../../libasr/src/libasr/runtime"; } else { // Installed version return dirname + "/../share/lpython/lib/impure"; diff --git a/src/runtime/legacy/CMakeLists.txt b/src/runtime/legacy/CMakeLists.txt index cacc62fba9..7c7469156c 100644 --- a/src/runtime/legacy/CMakeLists.txt +++ b/src/runtime/legacy/CMakeLists.txt @@ -1,16 +1,16 @@ set(SRC - ../../../src/libasr/runtime/lfortran_intrinsics.c + ../../../src/libasr/src/libasr/runtime/lfortran_intrinsics.c ) add_library(lpython_runtime SHARED ${SRC}) -target_include_directories(lpython_runtime BEFORE PUBLIC ${libasr_SOURCE_DIR}/..) -target_include_directories(lpython_runtime BEFORE PUBLIC ${libasr_BINARY_DIR}/..) +target_include_directories(lpython_runtime BEFORE PUBLIC ${libasr/src/libasr_SOURCE_DIR}/..) +target_include_directories(lpython_runtime BEFORE PUBLIC ${libasr/src/libasr_BINARY_DIR}/..) set_target_properties(lpython_runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../$<0:> LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../$<0:> ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../$<0:>) add_library(lpython_runtime_static STATIC ${SRC}) -target_include_directories(lpython_runtime_static BEFORE PUBLIC ${libasr_SOURCE_DIR}/..) -target_include_directories(lpython_runtime_static BEFORE PUBLIC ${libasr_BINARY_DIR}/..) +target_include_directories(lpython_runtime_static BEFORE PUBLIC ${libasr/src/libasr_SOURCE_DIR}/..) +target_include_directories(lpython_runtime_static BEFORE PUBLIC ${libasr/src/libasr_BINARY_DIR}/..) set_target_properties(lpython_runtime_static PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../$<0:> LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../$<0:> diff --git a/src/runtime/lpython/lpython.py b/src/runtime/lpython/lpython.py index d48be834dd..b37bf6ca08 100644 --- a/src/runtime/lpython/lpython.py +++ b/src/runtime/lpython/lpython.py @@ -717,7 +717,7 @@ def get_rtlib_dir(): get_python_version python_path = "-I" + get_python_inc() + " " numpy_path = "-I" + get_include() + " " - rt_path_01 = "-I" + get_rtlib_dir() + "/../libasr/runtime " + rt_path_01 = "-I" + get_rtlib_dir() + "/../libasr/src/libasr/runtime " rt_path_02 = "-L" + get_rtlib_dir() + " -Wl,-rpath," \ + get_rtlib_dir() + " -llpython_runtime " python_lib = "-L" + get_python_lib() + "/../.." + f" -Wl,-rpath,{get_python_lib()+'/../..'}" + " -lpython" + \