mirror of
https://github.com/reactos/reactos.git
synced 2024-06-30 09:50:07 +00:00
[FREELDR][SETUPLDR]
* Prepare the CMake script for PCH. * Add header guards to pcbios.h. CORE-7716 svn path=/trunk/; revision=62128
This commit is contained in:
parent
1cba1c80c4
commit
2d650203c1
|
@ -32,6 +32,7 @@ if((ARCH STREQUAL "arm") AND (SARCH STREQUAL "omap-zoom2"))
|
|||
endif()
|
||||
|
||||
list(APPEND FREELDR_COMMON_SOURCE
|
||||
include/freeldr.h
|
||||
cmdline.c
|
||||
debug.c
|
||||
linuxboot.c
|
||||
|
@ -121,7 +122,7 @@ if(ARCH STREQUAL "i386")
|
|||
windows/headless.c
|
||||
disk/scsiport.c)
|
||||
if(NOT MSVC)
|
||||
list(APPEND FREELDR_COMMON_SOURCE arch/i386/drvmap.S)
|
||||
list(APPEND FREELDR_COMMON_ASM_SOURCE arch/i386/drvmap.S)
|
||||
endif()
|
||||
elseif(ARCH STREQUAL "amd64")
|
||||
list(APPEND FREELDR_COMMON_ASM_SOURCE
|
||||
|
@ -152,12 +153,9 @@ else()
|
|||
#TBD
|
||||
endif()
|
||||
|
||||
if(NOT MSVC)
|
||||
add_library(freeldr_common OBJECT ${FREELDR_COMMON_SOURCE} ${FREELDR_COMMON_ASM_SOURCE})
|
||||
else()
|
||||
add_asm_files(freeldr_common_asm ${FREELDR_COMMON_ASM_SOURCE})
|
||||
add_library(freeldr_common ${FREELDR_COMMON_SOURCE} ${freeldr_common_asm})
|
||||
endif()
|
||||
add_asm_files(freeldr_common_asm ${FREELDR_COMMON_ASM_SOURCE})
|
||||
add_library(freeldr_common ${FREELDR_COMMON_SOURCE} ${freeldr_common_asm})
|
||||
add_pch(freeldr_common include/freeldr.h FREELDR_COMMON_SOURCE)
|
||||
add_dependencies(freeldr_common bugcodes)
|
||||
|
||||
if(ARCH STREQUAL "i386" AND NOT MSVC)
|
||||
|
@ -173,24 +171,20 @@ if(NOT MSVC)
|
|||
list(APPEND FREELDR_BASE_SOURCE ${CMAKE_CURRENT_BINARY_DIR}/freeldr.def)
|
||||
endif()
|
||||
|
||||
if(NOT MSVC)
|
||||
add_library(freeldr_pe SHARED $<TARGET_OBJECTS:freeldr_common> ${FREELDR_BASE_SOURCE})
|
||||
add_library(freeldr_pe_dbg SHARED EXCLUDE_FROM_ALL $<TARGET_OBJECTS:freeldr_common> ${FREELDR_BASE_SOURCE})
|
||||
if(SEPARATE_DBG)
|
||||
set_target_properties(freeldr_pe PROPERTIES LINKER_LANGUAGE LDR_PE_HELPER)
|
||||
set_target_properties(freeldr_pe_dbg PROPERTIES LINKER_LANGUAGE LDR_PE_HELPER)
|
||||
endif()
|
||||
else()
|
||||
add_library(freeldr_pe SHARED ${FREELDR_BASE_SOURCE})
|
||||
add_library(freeldr_pe_dbg SHARED EXCLUDE_FROM_ALL ${FREELDR_BASE_SOURCE})
|
||||
add_library(freeldr_pe SHARED ${FREELDR_BASE_SOURCE})
|
||||
add_library(freeldr_pe_dbg SHARED EXCLUDE_FROM_ALL ${FREELDR_BASE_SOURCE})
|
||||
|
||||
if(NOT MSVC AND SEPARATE_DBG)
|
||||
set_target_properties(freeldr_pe PROPERTIES LINKER_LANGUAGE LDR_PE_HELPER)
|
||||
set_target_properties(freeldr_pe_dbg PROPERTIES LINKER_LANGUAGE LDR_PE_HELPER)
|
||||
endif()
|
||||
|
||||
if(NOT MSVC)
|
||||
add_target_link_flags(freeldr_pe "-Wl,--strip-all,--exclude-all-symbols,--file-alignment,0x1000,-T,${CMAKE_CURRENT_SOURCE_DIR}/freeldr_i386.lds")
|
||||
add_target_link_flags(freeldr_pe_dbg "-Wl,--exclude-all-symbols,--file-alignment,0x1000,-T,${CMAKE_CURRENT_SOURCE_DIR}/freeldr_i386.lds")
|
||||
else()
|
||||
if(MSVC)
|
||||
add_target_link_flags(freeldr_pe "/ignore:4078 /ignore:4254 /DRIVER /FIXED /ALIGN:0x400 /SECTION:.text,ERW /SECTION:.data,RW /MERGE:.text16=.text /MERGE:.data=.text /MERGE:.rdata=.text /MERGE:.bss=.text ")
|
||||
add_target_link_flags(freeldr_pe_dbg "/ignore:4078 /ignore:4254 /DRIVER /FIXED /ALIGN:0x400 /SECTION:.text,ERW /SECTION:.data,RW /MERGE:.text16=.text /MERGE:.data=.text /MERGE:.rdata=.text /MERGE:.bss=.text")
|
||||
else()
|
||||
add_target_link_flags(freeldr_pe "-Wl,--strip-all,--exclude-all-symbols,--file-alignment,0x1000,-T,${CMAKE_CURRENT_SOURCE_DIR}/freeldr_i386.lds")
|
||||
add_target_link_flags(freeldr_pe_dbg "-Wl,--exclude-all-symbols,--file-alignment,0x1000,-T,${CMAKE_CURRENT_SOURCE_DIR}/freeldr_i386.lds")
|
||||
endif()
|
||||
|
||||
set_image_base(freeldr_pe 0x10000)
|
||||
|
@ -206,15 +200,8 @@ if(ARCH STREQUAL "i386")
|
|||
target_link_libraries(freeldr_pe_dbg mini_hal)
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
target_link_libraries(freeldr_pe freeldr_common)
|
||||
target_link_libraries(freeldr_pe_dbg freeldr_common)
|
||||
endif()
|
||||
|
||||
target_link_libraries(freeldr_pe cportlib cmlib rtl libcntpr)
|
||||
target_link_libraries(freeldr_pe_dbg cportlib cmlib rtl libcntpr)
|
||||
|
||||
# add_pch(freeldr_pe include/freeldr.h)
|
||||
target_link_libraries(freeldr_pe freeldr_common cportlib cmlib rtl libcntpr)
|
||||
target_link_libraries(freeldr_pe_dbg freeldr_common cportlib cmlib rtl libcntpr)
|
||||
|
||||
add_dependencies(freeldr_pe asm)
|
||||
add_dependencies(freeldr_pe_dbg asm)
|
||||
|
@ -237,24 +224,20 @@ if(ARCH STREQUAL "i386" OR ARCH STREQUAL "amd64")
|
|||
list(APPEND SETUPLDR_SOURCE windows/setupldr.c)
|
||||
endif()
|
||||
|
||||
if(NOT MSVC)
|
||||
add_library(setupldr_pe SHARED $<TARGET_OBJECTS:freeldr_common> ${FREELDR_BASE_SOURCE} ${SETUPLDR_SOURCE})
|
||||
add_library(setupldr_pe_dbg SHARED EXCLUDE_FROM_ALL $<TARGET_OBJECTS:freeldr_common> ${FREELDR_BASE_SOURCE} ${SETUPLDR_SOURCE})
|
||||
if(SEPARATE_DBG)
|
||||
set_target_properties(setupldr_pe PROPERTIES LINKER_LANGUAGE LDR_PE_HELPER)
|
||||
set_target_properties(setupldr_pe_dbg PROPERTIES LINKER_LANGUAGE LDR_PE_HELPER)
|
||||
endif()
|
||||
else()
|
||||
add_library(setupldr_pe SHARED ${FREELDR_BASE_SOURCE} ${SETUPLDR_SOURCE})
|
||||
add_library(setupldr_pe_dbg SHARED EXCLUDE_FROM_ALL ${FREELDR_BASE_SOURCE} ${SETUPLDR_SOURCE})
|
||||
add_library(setupldr_pe SHARED ${FREELDR_BASE_SOURCE} ${SETUPLDR_SOURCE})
|
||||
add_library(setupldr_pe_dbg SHARED EXCLUDE_FROM_ALL ${FREELDR_BASE_SOURCE} ${SETUPLDR_SOURCE})
|
||||
|
||||
if(NOT MSVC AND SEPARATE_DBG)
|
||||
set_target_properties(setupldr_pe PROPERTIES LINKER_LANGUAGE LDR_PE_HELPER)
|
||||
set_target_properties(setupldr_pe_dbg PROPERTIES LINKER_LANGUAGE LDR_PE_HELPER)
|
||||
endif()
|
||||
|
||||
if(NOT MSVC)
|
||||
add_target_link_flags(setupldr_pe "-Wl,--strip-all,--exclude-all-symbols,--file-alignment,0x1000,-T,${CMAKE_CURRENT_SOURCE_DIR}/freeldr_i386.lds")
|
||||
add_target_link_flags(setupldr_pe_dbg "-Wl,--exclude-all-symbols,--file-alignment,0x1000,-T,${CMAKE_CURRENT_SOURCE_DIR}/freeldr_i386.lds")
|
||||
else()
|
||||
if(MSVC)
|
||||
add_target_link_flags(setupldr_pe "/ignore:4078 /ignore:4254 /DRIVER /FIXED /ALIGN:0x400 /SECTION:.text,ERW /SECTION:.data,RW /MERGE:.text16=.text /MERGE:.data=.text /MERGE:.rdata=.text /MERGE:.bss=.text")
|
||||
add_target_link_flags(setupldr_pe_dbg "/ignore:4078 /ignore:4254 /DRIVER /FIXED /ALIGN:0x400 /SECTION:.text,ERW /SECTION:.data,RW /MERGE:.text16=.text /MERGE:.data=.text /MERGE:.rdata=.text /MERGE:.bss=.text")
|
||||
else()
|
||||
add_target_link_flags(setupldr_pe "-Wl,--strip-all,--exclude-all-symbols,--file-alignment,0x1000,-T,${CMAKE_CURRENT_SOURCE_DIR}/freeldr_i386.lds")
|
||||
add_target_link_flags(setupldr_pe_dbg "-Wl,--exclude-all-symbols,--file-alignment,0x1000,-T,${CMAKE_CURRENT_SOURCE_DIR}/freeldr_i386.lds")
|
||||
endif()
|
||||
|
||||
add_target_compile_definitions(setupldr_pe FREELDR_REACTOS_SETUP)
|
||||
|
@ -273,13 +256,8 @@ if(ARCH STREQUAL "i386")
|
|||
target_link_libraries(setupldr_pe_dbg mini_hal)
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
target_link_libraries(setupldr_pe freeldr_common)
|
||||
target_link_libraries(setupldr_pe_dbg freeldr_common)
|
||||
endif()
|
||||
|
||||
target_link_libraries(setupldr_pe cportlib cmlib rtl libcntpr)
|
||||
target_link_libraries(setupldr_pe_dbg cportlib cmlib rtl libcntpr)
|
||||
target_link_libraries(setupldr_pe freeldr_common cportlib cmlib rtl libcntpr)
|
||||
target_link_libraries(setupldr_pe_dbg freeldr_common cportlib cmlib rtl libcntpr)
|
||||
|
||||
add_dependencies(setupldr_pe asm)
|
||||
add_dependencies(setupldr_pe_dbg asm)
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
#ifndef _PCBIOS_H_
|
||||
#define _PCBIOS_H_
|
||||
|
||||
#ifndef __ASM__
|
||||
|
||||
typedef enum
|
||||
|
@ -139,3 +142,4 @@ VOID DetectHardware(VOID); // Implemented in hardware.c
|
|||
#define REGS_EFLAGS 36
|
||||
#define REGS_SIZE 40
|
||||
|
||||
#endif /* _PCBIOS_H_ */
|
||||
|
|
|
@ -122,4 +122,4 @@ VOID BootMain(LPSTR CmdLine);
|
|||
VOID LoadOperatingSystem(IN OperatingSystemItem* OperatingSystem);
|
||||
VOID RunLoader(VOID);
|
||||
|
||||
#endif // defined __FREELDR_H
|
||||
#endif /* __FREELDR_H */
|
||||
|
|
Loading…
Reference in a new issue