Upload Apkdiff Module Source Code
This commit is contained in:
23
apkdiff/third_party/zlib/contrib/ada/cmake/Modules/CMakeADACompiler.cmake.in
vendored
Normal file
23
apkdiff/third_party/zlib/contrib/ada/cmake/Modules/CMakeADACompiler.cmake.in
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
set(CMAKE_ADA_COMPILER "@CMAKE_ADA_COMPILER@")
|
||||
set(CMAKE_ADA_COMPILER_ARG1 "@CMAKE_ADA_COMPILER_ARG1@")
|
||||
set(CMAKE_ADA_COMPILER_ID "@CMAKE_ADA_COMPILER_ID@")
|
||||
set(CMAKE_ADA_COMPILER_VERSION "@CMAKE_ADA_COMPILER_VERSION@")
|
||||
set(CMAKE_ADA_PLATFORM_ID "@CMAKE_ADA_PLATFORM_ID@")
|
||||
set(CMAKE_AR "@CMAKE_AR@")
|
||||
#set(CMAKE_RANLIB "@CMAKE_RANLIB@")
|
||||
#set(CMAKE_LINKER "@CMAKE_LINKER@")
|
||||
set(CMAKE_ADA_COMPILER_LOADED TRUE)
|
||||
set(CMAKE_ADA_COMPILER_WORKS @CMAKE_ADA_COMPILER_WORKS@)
|
||||
#set(CMAKE_ADA_ABI_COMPILED @CMAKE_ADA_ABI_COMPILED@)
|
||||
|
||||
set(CMAKE_ADA_COMPILER_ENV_VAR "ADA")
|
||||
|
||||
set(CMAKE_ADA_COMPILER_ID_RUN TRUE)
|
||||
set(CMAKE_ADA_SOURCE_FILE_EXTENSIONS adb;ADB)
|
||||
set(CMAKE_ADA_IGNORE_EXTENSIONS ;o;O;obj;OBJ;ali)
|
||||
|
||||
set(CMAKE_ADA_BINDER_HELPER "@CMAKE_ADA_BINDER_HELPER@")
|
||||
set(CMAKE_ADA_COMPILER_HELPER "@CMAKE_ADA_COMPILER_HELPER@")
|
||||
set(CMAKE_ADA_EXE_LINK_HELPER "@CMAKE_ADA_EXE_LINK_HELPER@")
|
||||
set(CMAKE_ADA_SHARED_LINK_HELPER "@CMAKE_ADA_SHARED_LINK_HELPER@")
|
||||
set(CMAKE_ADA_STATIC_LINK_HELPER "@CMAKE_ADA_STATIC_LINK_HELPER@")
|
||||
135
apkdiff/third_party/zlib/contrib/ada/cmake/Modules/CMakeADAInformation.cmake
vendored
Normal file
135
apkdiff/third_party/zlib/contrib/ada/cmake/Modules/CMakeADAInformation.cmake
vendored
Normal file
@@ -0,0 +1,135 @@
|
||||
include(CMakeLanguageInformation)
|
||||
|
||||
set(CMAKE_ADA_OUTPUT_EXTENSION .o)
|
||||
set(CMAKE_ADA_OUTPUT_EXTENSION_REPLACE TRUE)
|
||||
|
||||
if(CMAKE_USER_MAKE_RULES_OVERRIDE)
|
||||
include(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
|
||||
set(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
|
||||
endif(CMAKE_USER_MAKE_RULES_OVERRIDE)
|
||||
|
||||
|
||||
if(CMAKE_USER_MAKE_RULES_OVERRIDE_ADA)
|
||||
include(${CMAKE_USER_MAKE_RULES_OVERRIDE_ADA} RESULT_VARIABLE _override)
|
||||
set(CMAKE_USER_MAKE_RULES_OVERRIDE_ADA "${_override}")
|
||||
endif(CMAKE_USER_MAKE_RULES_OVERRIDE_ADA)
|
||||
|
||||
set(CMAKE_ADA_FLAGS_INIT "$ENV{ADAFLAGS} ${CMAKE_ADA_FLAGS_INIT}")
|
||||
|
||||
string(APPEND CMAKE_ADA_FLAGS_INIT " ")
|
||||
string(APPEND CMAKE_ADA_FLAGS_DEBUG_INIT " -g")
|
||||
string(APPEND CMAKE_ADA_FLAGS_MINSIZEREL_INIT " -Os")
|
||||
string(APPEND CMAKE_ADA_FLAGS_RELEASE_INIT " -O3")
|
||||
string(APPEND CMAKE_ADA_FLAGS_RELWITHDEBINFO_INIT " -O2 -g")
|
||||
|
||||
cmake_initialize_per_config_variable(CMAKE_ADA_FLAGS "Flags used by the Ada compiler")
|
||||
|
||||
if(CMAKE_ADA_STANDARD_LIBRARIES_INIT)
|
||||
set(CMAKE_ADA_STANDARD_LIBRARIES
|
||||
"${CMAKE_ADA_STANDARD_LIBRARIES_INIT}"
|
||||
CACHE
|
||||
STRING "Libraries linked by default with all Ada applications.")
|
||||
mark_as_advanced(CMAKE_ADA_STANDARD_LIBRARIES)
|
||||
endif(CMAKE_ADA_STANDARD_LIBRARIES_INIT)
|
||||
|
||||
if(NOT CMAKE_ADA_COMPILER_LAUNCHER AND DEFINED ENV{CMAKE_ADA_COMPILER_LAUNCHER})
|
||||
set(CMAKE_ADA_COMPILER_LAUNCHER
|
||||
"$ENV{CMAKE_ADA_COMPILER_LAUNCHER}"
|
||||
CACHE
|
||||
STRING "Compiler launcher for Ada.")
|
||||
endif(NOT CMAKE_ADA_COMPILER_LAUNCHER AND DEFINED ENV{CMAKE_ADA_COMPILER_LAUNCHER})
|
||||
|
||||
if(NOT CMAKE_ADA_LINKER_LAUNCHER AND DEFINED ENV{CMAKE_ADA_LINKER_LAUNCHER})
|
||||
set(CMAKE_ADA_LINKER_LAUNCHER
|
||||
"$ENV{CMAKE_ADA_LINKER_LAUNCHER}"
|
||||
CACHE
|
||||
STRING "Linker launcher for Ada.")
|
||||
endif(NOT CMAKE_ADA_LINKER_LAUNCHER AND DEFINED ENV{CMAKE_ADA_LINKER_LAUNCHER})
|
||||
|
||||
include(CMakeCommonLanguageInclude)
|
||||
_cmake_common_language_platform_flags(ADA)
|
||||
|
||||
if(NOT CMAKE_ADA_CREATE_SHARED_LIBRARY)
|
||||
set(CMAKE_ADA_CREATE_SHARED_LIBRARY
|
||||
"${CMAKE_ADA_BINDER_HELPER} <CMAKE_ADA_COMPILER> <OBJECTS> FLAGS <FLAGS> <LINK_FLAGS>"
|
||||
"${CMAKE_ADA_SHARED_LINK_HELPER} <CMAKE_ADA_COMPILER> <TARGET> <OBJECTS> <LINK_LIBRARIES>")
|
||||
endif(NOT CMAKE_ADA_CREATE_SHARED_LIBRARY)
|
||||
|
||||
if(NOT CMAKE_ADA_CREATE_STATIC_LIBRARY)
|
||||
set(CMAKE_ADA_CREATE_STATIC_LIBRARY
|
||||
"${CMAKE_ADA_STATIC_LINK_HELPER} ${CMAKE_AR} <TARGET> <OBJECTS>")
|
||||
endif(NOT CMAKE_ADA_CREATE_STATIC_LIBRARY)
|
||||
|
||||
if(NOT CMAKE_ADA_COMPILE_OBJECT)
|
||||
set(CMAKE_ADA_COMPILE_OBJECT
|
||||
"${CMAKE_ADA_COMPILER_HELPER} <CMAKE_ADA_COMPILER> <OBJECT_DIR> <SOURCE> <FLAGS>")
|
||||
endif(NOT CMAKE_ADA_COMPILE_OBJECT)
|
||||
|
||||
if(NOT CMAKE_ADA_LINK_EXECUTABLE)
|
||||
set(CMAKE_ADA_LINK_EXECUTABLE
|
||||
"${CMAKE_ADA_BINDER_HELPER} <CMAKE_ADA_COMPILER> <OBJECTS> FLAGS <FLAGS> <LINK_FLAGS>"
|
||||
"${CMAKE_ADA_EXE_LINK_HELPER} <CMAKE_ADA_COMPILER> <TARGET> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> OBJ <OBJECTS> LIBS <LINK_LIBRARIES>")
|
||||
endif(NOT CMAKE_ADA_LINK_EXECUTABLE)
|
||||
|
||||
function(ada_add_executable)
|
||||
if(ARGC GREATER 1)
|
||||
math(EXPR last_index "${ARGC} - 1")
|
||||
foreach(source RANGE 1 ${last_index})
|
||||
list(APPEND SOURCES ${ARGV${source}})
|
||||
string(REPLACE ".adb" "" ali "${ARGV${source}}")
|
||||
set(clean_file "CMakeFiles/${ARGV0}.dir/${ali}.ali")
|
||||
list(APPEND CLEAN_FILES ${clean_file})
|
||||
list(APPEND CLEAN_FILES b~${ali}.adb)
|
||||
list(APPEND CLEAN_FILES b~${ali}.ads)
|
||||
list(APPEND CLEAN_FILES b~${ali}.ali)
|
||||
list(APPEND CLEAN_FILES b~${ali}.o)
|
||||
endforeach(source RANGE 1 ${ARGC})
|
||||
|
||||
add_executable(${ARGV0} ${ARGV1} ${SOURCES})
|
||||
|
||||
set_target_properties(${ARGV0}
|
||||
PROPERTIES
|
||||
ADDITIONAL_CLEAN_FILES "${CLEAN_FILES}")
|
||||
target_link_options(${ARGV0} PRIVATE "-aOCMakeFiles/${ARGV0}.dir/")
|
||||
endif(ARGC GREATER 1)
|
||||
endfunction(ada_add_executable)
|
||||
|
||||
function(ada_add_library)
|
||||
if(ARGC GREATER 2)
|
||||
math(EXPR last_index "${ARGC} - 1")
|
||||
foreach(source RANGE 2 ${last_index})
|
||||
list(APPEND SOURCES ${ARGV${source}})
|
||||
string(REPLACE ".adb" "" ali "${ARGV${source}}")
|
||||
set(clean_file "CMakeFiles/${ARGV0}.dir/${ali}.ali")
|
||||
list(APPEND CLEAN_FILES ${clean_file})
|
||||
list(APPEND CLEAN_FILES b~${ali}.adb)
|
||||
list(APPEND CLEAN_FILES b~${ali}.ads)
|
||||
list(APPEND CLEAN_FILES b~${ali}.ali)
|
||||
list(APPEND CLEAN_FILES b~${ali}.o)
|
||||
endforeach(source RANGE 2 ${ARGC})
|
||||
|
||||
add_library(${ARGV0} ${ARGV1} ${SOURCES})
|
||||
|
||||
set_target_properties(${ARGV0}
|
||||
PROPERTIES
|
||||
ADDITIONAL_CLEAN_FILES "${CLEAN_FILES};dummylib.adb;dummylib.ali;dummylib.o"
|
||||
ALI_FLAG "-aO${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${ARGV0}.dir/")
|
||||
target_link_options(${ARGV0} PRIVATE "-aOCMakeFiles/${ARGV0}.dir/")
|
||||
endif(ARGC GREATER 2)
|
||||
endfunction(ada_add_library)
|
||||
|
||||
function(ada_find_ali)
|
||||
get_target_property(link_libs ${ARGV0} LINK_LIBRARIES)
|
||||
|
||||
foreach(lib IN LISTS link_libs)
|
||||
get_target_property(ali ${lib} ALI_FLAG)
|
||||
string(APPEND FLAGS ${ali} " ")
|
||||
unset(ali)
|
||||
endforeach(lib IN LISTS link_libs)
|
||||
|
||||
set_target_properties(${ARGV0}
|
||||
PROPERTIES
|
||||
LINK_FLAGS ${FLAGS})
|
||||
endfunction(ada_find_ali)
|
||||
|
||||
set(CMAKE_ADA_INFORMATION_LOADED TRUE)
|
||||
33
apkdiff/third_party/zlib/contrib/ada/cmake/Modules/CMakeDetermineADACompiler.cmake
vendored
Normal file
33
apkdiff/third_party/zlib/contrib/ada/cmake/Modules/CMakeDetermineADACompiler.cmake
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
|
||||
|
||||
# Load system-specific compiler preferences for this language.
|
||||
include(Platform/${CMAKE_SYSTEM_NAME}-Determine-Ada OPTIONAL)
|
||||
include(Platform/${CMAKE_SYSTEM_NAME}-Ada OPTIONAL)
|
||||
|
||||
if(NOT CMAKE_ADA_COMPILER_NAMES)
|
||||
set(CMAKE_ADA_COMPILER_NAMES gnat)
|
||||
|
||||
foreach(ver RANGE 11 99)
|
||||
list(APPEND CMAKE_ADA_COMPILER_NAMES gnat-${ver})
|
||||
endforeach(ver RANGE 11 99)
|
||||
endif(NOT CMAKE_ADA_COMPILER_NAMES)
|
||||
|
||||
if(NOT CMAKE_ADA_COMPILER)
|
||||
set(CMAKE_ADA_COMPILER_INIT NOTFOUND)
|
||||
_cmake_find_compiler(ADA)
|
||||
else(NOT CMAKE_REAL_ADA_COMPILER)
|
||||
_cmake_find_compiler_path(ADA)
|
||||
endif(NOT CMAKE_ADA_COMPILER)
|
||||
|
||||
mark_as_advanced(CMAKE_ADA_COMPILER)
|
||||
set(CMAKE_ADA_COMPILER_ID "GNU")
|
||||
set(CMAKE_ADA_BINDER_HELPER "${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/binder_helper.cmake")
|
||||
set(CMAKE_ADA_COMPILER_HELPER "${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compile_helper.cmake")
|
||||
set(CMAKE_ADA_EXE_LINK_HELPER "${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/exe_link_helper.cmake")
|
||||
set(CMAKE_ADA_SHARED_LINK_HELPER "${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/shared_link_helper.cmake")
|
||||
set(CMAKE_ADA_STATIC_LINK_HELPER "${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/static_link_helper.cmake")
|
||||
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/CMakeADACompiler.cmake.in
|
||||
${CMAKE_PLATFORM_INFO_DIR}/CMakeADACompiler.cmake
|
||||
@ONLY)
|
||||
46
apkdiff/third_party/zlib/contrib/ada/cmake/Modules/CMakeTestADACompiler.cmake
vendored
Normal file
46
apkdiff/third_party/zlib/contrib/ada/cmake/Modules/CMakeTestADACompiler.cmake
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
include(CMakeTestCompilerCommon)
|
||||
unset(CMAKE_ADA_COMPILER_WORKS CACHE)
|
||||
|
||||
if(NOT CMAKE_ADA_COMPILER_WORKS)
|
||||
PrintTestCompilerStatus("ADA" "")
|
||||
set(_ADA_TEST_FILE "${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/CMakeTmp/main.adb")
|
||||
|
||||
file(WRITE ${_ADA_TEST_FILE}
|
||||
"with Ada.Text_IO; use Ada.Text_IO;\n"
|
||||
"\n"
|
||||
"procedure main is\n"
|
||||
"begin\n"
|
||||
"Put_Line(\"Hello, World!\");\n"
|
||||
"end Main;\n")
|
||||
|
||||
try_compile(CMAKE_ADA_COMPILER_WORKS ${CMAKE_BINARY_DIR}
|
||||
${_ADA_TEST_FILE}
|
||||
OUTPUT_VARIABLE __CMAKE_ADA_COMPILER_OUTPUT)
|
||||
|
||||
set(CMAKE_ADA_COMPILER_WORKS ${CMAKE_ADA_COMPILER_WORKS})
|
||||
unset(CMAKE_ADA_COMPILER_WORKS CACHE)
|
||||
set(ADA_TEST_WAS_RUN TRUE)
|
||||
endif(NOT CMAKE_ADA_COMPILER_WORKS)
|
||||
|
||||
if(NOT CMAKE_ADA_COMPILER_WORKS)
|
||||
PrintTestCompilerStatus("ADA" " -- broken")
|
||||
|
||||
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Determining if the Ada compiler works failed with "
|
||||
"the following output:\n${__CMAKE_ADA_COMPILER_OUTPUT}\n\n")
|
||||
|
||||
message(FATAL_ERROR "The Ada compiler \"${CMAKE_ADA_COMPILER}\" "
|
||||
"is not able to compile a simple test program.\nIt fails "
|
||||
"with the following output:\n ${__CMAKE_ADA_COMPILER_OUTPUT}\n\n"
|
||||
"CMake will not be able to correctly generate this project.")
|
||||
else(NOT CMAKE_ADA_COMPILER_WORKS)
|
||||
if(ADA_TEST_WAS_RUN)
|
||||
PrintTestCompilerStatus("ADA" " -- works")
|
||||
|
||||
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||
"Determining if the Ada compiler works passed with "
|
||||
"the following output:\n${__CMAKE_ADA_COMPILER_OUTPUT}\n\n")
|
||||
endif(ADA_TEST_WAS_RUN)
|
||||
endif(NOT CMAKE_ADA_COMPILER_WORKS)
|
||||
|
||||
unset(__CMAKE_ADA_COMPILER_OUTPUT)
|
||||
53
apkdiff/third_party/zlib/contrib/ada/cmake/binder_helper.cmake
vendored
Normal file
53
apkdiff/third_party/zlib/contrib/ada/cmake/binder_helper.cmake
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
#CMAKE_ARGV0 = /path/to/cmake
|
||||
#CMAKE_ARGV1 = -P
|
||||
#CMAKE_ARGV2 = path/to/this/file
|
||||
#CMAKE_ARGV3 = binder
|
||||
#CMAKE_ARGV4 = ali
|
||||
|
||||
if(NOT CMAKE_ARGV3)
|
||||
message(FATAL_ERROR "binder not set")
|
||||
endif(NOT CMAKE_ARGV3)
|
||||
|
||||
string(REPLACE ".o" ".ali" ALIPATH ${CMAKE_ARGV4})
|
||||
cmake_path(GET ALIPATH FILENAME ALI)
|
||||
cmake_path(REMOVE_FILENAME ALIPATH OUTPUT_VARIABLE ALI_SEARCH_PATH)
|
||||
|
||||
set (REACHED_FLAGS FALSE)
|
||||
#iterate over additional objects, only the main one is needed
|
||||
foreach(arg RANGE 5 ${CMAKE_ARGC})
|
||||
if(CMAKE_ARGV${arg} STREQUAL FLAGS)
|
||||
set(REACHED_FLAGS TRUE)
|
||||
continue()
|
||||
endif(CMAKE_ARGV${arg} STREQUAL FLAGS)
|
||||
|
||||
string(SUBSTRING "${CMAKE_ARGV${arg}}" 0 2 start)
|
||||
|
||||
if(start STREQUAL "-O")
|
||||
continue()
|
||||
endif(start STREQUAL "-O")
|
||||
|
||||
if(REACHED_FLAGS)
|
||||
list(APPEND FLAGS ${CMAKE_ARGV${arg}})
|
||||
endif(REACHED_FLAGS)
|
||||
endforeach(arg RANGE 5 CMAKE_ARGC)
|
||||
|
||||
list(APPEND FLAGS "-aO${ALI_SEARCH_PATH}")
|
||||
|
||||
#first see if there is a main function
|
||||
execute_process(COMMAND ${CMAKE_ARGV3} bind ${ALI} ${FLAGS}
|
||||
RESULT_VARIABLE MAIN_RESULT
|
||||
OUTPUT_VARIABLE dont_care
|
||||
ERROR_VARIABLE ERROR)
|
||||
|
||||
if(MAIN_RESULT)
|
||||
execute_process(COMMAND ${CMAKE_ARGV3} bind -n ${ALI} ${FLAGS}
|
||||
RESULT_VARIABLE RESULT
|
||||
OUTPUT_VARIABLE dont_care
|
||||
ERROR_VARIABLE ERROR)
|
||||
endif(MAIN_RESULT)
|
||||
|
||||
if(RESULT)
|
||||
message(FATAL_ERROR ${RESULT} ${ERROR})
|
||||
endif(RESULT)
|
||||
|
||||
execute_process(COMMAND ${CMAKE_ARGV0} -E touch "${CMAKE_ARGV4}")
|
||||
32
apkdiff/third_party/zlib/contrib/ada/cmake/compile_helper.cmake
vendored
Normal file
32
apkdiff/third_party/zlib/contrib/ada/cmake/compile_helper.cmake
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
#CMAKE_ARGV0 = /path/to/cmake
|
||||
#CMAKE_ARGV1 = -P
|
||||
#CMAKE_ARGV2 = path/to/this/file
|
||||
#CMAKE_ARGV3 = compiler
|
||||
#CMAKE_ARGV4 = OBJECT-DIR
|
||||
#CMAKE_ARGV5 = source-file
|
||||
|
||||
if(NOT CMAKE_ARGV3)
|
||||
message(FATAL_ERROR "compiler not set")
|
||||
endif(NOT CMAKE_ARGV3)
|
||||
|
||||
if(NOT CMAKE_ARGV4)
|
||||
message(FATAL_ERROR "object dir not set")
|
||||
endif(NOT CMAKE_ARGV4)
|
||||
|
||||
if(NOT CMAKE_ARGV5)
|
||||
message(FATAL_ERROR "source not set")
|
||||
endif(NOT CMAKE_ARGV5)
|
||||
|
||||
foreach(arg RANGE 6 ${CMAKE_ARGC})
|
||||
list(APPEND FLAGS "${CMAKE_ARGV${arg}}")
|
||||
endforeach(arg RANGE 6 ${CMAKE_ARGC})
|
||||
|
||||
execute_process(COMMAND ${CMAKE_ARGV3} compile ${FLAGS} ${CMAKE_ARGV5}
|
||||
WORKING_DIRECTORY ${CMAKE_ARGV4}
|
||||
RESULT_VARIABLE RESULT
|
||||
OUTPUT_VARIABLE dont_care
|
||||
ERROR_VARIABLE ERROR)
|
||||
|
||||
if(RESULT)
|
||||
message(FATAL_ERROR ${RESULT} ${ERROR})
|
||||
endif(RESULT)
|
||||
54
apkdiff/third_party/zlib/contrib/ada/cmake/exe_link_helper.cmake
vendored
Normal file
54
apkdiff/third_party/zlib/contrib/ada/cmake/exe_link_helper.cmake
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
#CMAKE_ARGV0 = /path/to/cmake
|
||||
#CMAKE_ARGV1 = -P
|
||||
#CMAKE_ARGV2 = path/to/this/file
|
||||
#CMAKE_ARGV3 = linker
|
||||
#CMAKE_ARGV4 = output-name
|
||||
#CMAKE_ARGV5...CMAKE_AGVN = OBJECTS
|
||||
#CMAKE_ARGVN+1 = LIBS
|
||||
#CMAKE_ARGVN+2...CMAKE_ARGVM libraries
|
||||
|
||||
if(NOT CMAKE_ARGV3)
|
||||
message(FATAL_ERROR "linker not set")
|
||||
endif(NOT CMAKE_ARGV3)
|
||||
|
||||
set(REACHED_LIBS FALSE)
|
||||
set(REACHED_OBJ FALSE)
|
||||
foreach(arg RANGE 5 ${CMAKE_ARGC})
|
||||
if(CMAKE_ARGV${arg} STREQUAL LIBS)
|
||||
set(REACHED_LIBS TRUE)
|
||||
set(REACHED_OBJ FALSE)
|
||||
continue()
|
||||
endif(CMAKE_ARGV${arg} STREQUAL LIBS)
|
||||
|
||||
if(CMAKE_ARGV${arg} STREQUAL OBJ)
|
||||
set(REACHED_LIBS FALSE)
|
||||
set(REACHED_OBJ TRUE)
|
||||
continue()
|
||||
endif(CMAKE_ARGV${arg} STREQUAL OBJ)
|
||||
|
||||
if(CMAKE_ARGC EQUAL arg)
|
||||
continue()
|
||||
endif(CMAKE_ARGC EQUAL arg)
|
||||
|
||||
if(REACHED_LIBS)
|
||||
list(APPEND LIBS "${CMAKE_ARGV${arg}}")
|
||||
elseif(REACHED_OBJ AND NOT ALI)
|
||||
string(REPLACE ".o" ".ali" ALIPATH "${CMAKE_ARGV${arg}}")
|
||||
string(REPLACE "__/" "" ALI "${ALIPATH}")
|
||||
else(REACHED_LIBS)
|
||||
string(SUBSTRING "${CMAKE_ARGV${arg}}" 0 3 start)
|
||||
|
||||
if(NOT start STREQUAL -aO)
|
||||
list(APPEND FLAGS "${CMAKE_ARGV${arg}}")
|
||||
endif(NOT start STREQUAL -aO)
|
||||
endif(REACHED_LIBS)
|
||||
endforeach(arg RANGE 5 ${CMAKE_ARGC})
|
||||
|
||||
execute_process(COMMAND ${CMAKE_ARGV3} link ${ALI} -o ${CMAKE_ARGV4} ${FLAGS} ${OTHER_OBJECTS} ${LIBS}
|
||||
RESULT_VARIABLE RESULT
|
||||
OUTPUT_VARIABLE dont_care
|
||||
ERROR_VARIABLE ERROR)
|
||||
|
||||
if(RESULT)
|
||||
message(FATAL_ERROR ${RESULT} ${ERROR})
|
||||
endif(RESULT)
|
||||
52
apkdiff/third_party/zlib/contrib/ada/cmake/shared_link_helper.cmake
vendored
Normal file
52
apkdiff/third_party/zlib/contrib/ada/cmake/shared_link_helper.cmake
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
#CMAKE_ARGV0 = /path/to/cmake
|
||||
#CMAKE_ARGV1 = -P
|
||||
#CMAKE_ARGV2 = path/to/this/file
|
||||
#CMAKE_ARGV3 = linker
|
||||
#CMAKE_ARGV4 = output-name
|
||||
#CMAKE_ARGV5...CMAKE_AGVN = OBJECTS
|
||||
#CMAKE_ARGVN+1 = LIBS
|
||||
#CMAKE_ARGVN+2...CMAKE_ARGVM libraries
|
||||
|
||||
if(NOT CMAKE_ARGV3)
|
||||
message(FATAL_ERROR "linker not set")
|
||||
endif(NOT CMAKE_ARGV3)
|
||||
|
||||
set(REACHED_FILES FALSE)
|
||||
foreach(arg RANGE 5 ${CMAKE_ARGC})
|
||||
if(CMAKE_ARGV${arg} STREQUAL "LIBS")
|
||||
set(REACHED_FILES TRUE)
|
||||
continue()
|
||||
endif(CMAKE_ARGV${arg} STREQUAL "LIBS")
|
||||
|
||||
if(CMAKE_ARGC EQUAL arg)
|
||||
continue()
|
||||
endif(CMAKE_ARGC EQUAL arg)
|
||||
|
||||
if(REACHED_LIBS)
|
||||
list(APPEND LIBS "${CMAKE_ARGV${arg}} ")
|
||||
else(REACHED_LIBS)
|
||||
list(APPEND OBJECT_FILES "${CMAKE_ARGV${arg}}")
|
||||
endif(REACHED_LIBS)
|
||||
endforeach(arg RANGE 5 ${CMAKE_ARGC})
|
||||
|
||||
file(WRITE dummylib.adb
|
||||
"procedure dummylib is\n"
|
||||
"begin\n"
|
||||
" null;\n"
|
||||
"end;\n")
|
||||
|
||||
execute_process(COMMAND ${CMAKE_ARGV3} compile -fPIC dummylib.adb
|
||||
OUTPUT_VARIABLE dont_care
|
||||
ERROR_VARIABLE ERROR)
|
||||
execute_process(COMMAND ${CMAKE_ARGV3} bind -n dummylib.ali
|
||||
OUTPUT_VARIABLE dont_care
|
||||
ERROR_VARIABLE ERROR)
|
||||
|
||||
execute_process(COMMAND ${CMAKE_ARGV3} link -shared dummylib.ali -o ${CMAKE_ARGV4} ${OBJECT_FILES} ${LIBS}
|
||||
RESULT_VARIABLE RESULT
|
||||
OUTPUT_VARIABLE dont_care
|
||||
ERROR_VARIABLE ERROR)
|
||||
|
||||
if(RESULT)
|
||||
message(FATAL_ERROR ${RESULT} ${ERROR})
|
||||
endif(RESULT)
|
||||
25
apkdiff/third_party/zlib/contrib/ada/cmake/static_link_helper.cmake
vendored
Normal file
25
apkdiff/third_party/zlib/contrib/ada/cmake/static_link_helper.cmake
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
#CMAKE_ARGV0 = /path/to/cmake
|
||||
#CMAKE_ARGV1 = -P
|
||||
#CMAKE_ARGV2 = path/to/this/file
|
||||
#CMAKE_ARGV3 = path/to/ar
|
||||
#CMAKE_ARGV4 = output-name
|
||||
#CMAKE_ARGV5...CMAKE_AGVN = OBJECTS
|
||||
|
||||
if(NOT CMAKE_ARGV3)
|
||||
message(FATAL_ERROR "linker not set")
|
||||
endif(NOT CMAKE_ARGV3)
|
||||
|
||||
foreach(arg RANGE 5 ${CMAKE_ARGC})
|
||||
if(NOT CMAKE_ARGC EQUAL arg)
|
||||
list(APPEND OBJECT_FILES "${CMAKE_ARGV${arg}}")
|
||||
endif(NOT CMAKE_ARGC EQUAL arg)
|
||||
endforeach(arg RANGE 6 ${CMAKE_ARGC})
|
||||
|
||||
execute_process(COMMAND ${CMAKE_ARGV3} rcs ${CMAKE_ARGV4} ${OBJECT_FILES}
|
||||
RESULT_VARIABLE RESULT
|
||||
OUTPUT_VARIABLE dont_care
|
||||
ERROR_VARIABLE ERROR)
|
||||
|
||||
if(RESULT)
|
||||
message(FATAL_ERROR ${RESULT} ${ERROR})
|
||||
endif(RESULT)
|
||||
Reference in New Issue
Block a user