This is a preliminary ARM64 platform support for wxWidgets at "it compiles" stage. This will allow building and testing wxWidgets based apps for oncoming Windows 10 ARM64. Requirements: - Visual Studio 2017 Update 4 or later with Visual C++ compilers and libraries for ARM64 component installed Building: 1. Open command prompt. 2. Change directory to build\msw subfolder. 3. Run "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat" once. 4. Use `nmake TARGET_CPU=ARM64 ...` to build required flavor of wxWidget libraries. Notes: 1. Building of *.sln/*.vcxproj files does not support ARM64 yet. This requires to hardcode Windows SDK to 10.0.15063.0 or later in *.vcxproj files, which would render them non-compilable in older Visual Studio versions. Microsoft is aware of this issue and is planning a fix in the next version of Visual Studio. 2. wxmsw31ud_gl.dll does not build yet. Awaiting Microsoft to deliver missing opengl32.lib for ARM64. Please, specify USE_OPENGL=0. Closes https://github.com/wxWidgets/wxWidgets/pull/923
		
			
				
	
	
		
			314 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			314 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# =========================================================================
 | 
						|
#     This makefile was generated by
 | 
						|
#     Bakefile 0.2.11 (http://www.bakefile.org)
 | 
						|
#     Do not modify, all changes will be overwritten!
 | 
						|
# =========================================================================
 | 
						|
 | 
						|
!include <../../build/msw/config.vc>
 | 
						|
 | 
						|
# -------------------------------------------------------------------------
 | 
						|
# Do not modify the rest of this file!
 | 
						|
# -------------------------------------------------------------------------
 | 
						|
 | 
						|
### Variables: ###
 | 
						|
 | 
						|
WX_RELEASE_NODOT = 31
 | 
						|
COMPILER_PREFIX = vc
 | 
						|
OBJS = \
 | 
						|
	$(COMPILER_PREFIX)$(COMPILER_VERSION)_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)$(ARCH_SUFFIX)
 | 
						|
LIBDIRNAME = \
 | 
						|
	.\..\..\lib\$(COMPILER_PREFIX)$(COMPILER_VERSION)$(ARCH_SUFFIX)_$(LIBTYPE_SUFFIX)$(CFG)
 | 
						|
SETUPHDIR = \
 | 
						|
	$(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)
 | 
						|
EXECMON_CXXFLAGS = /M$(__RUNTIME_LIBS_10)$(__DEBUGRUNTIME_4) /DWIN32 \
 | 
						|
	$(__DEBUGINFO_0) /Fd$(OBJS)\execmon.pdb $(____DEBUGRUNTIME_3_p) \
 | 
						|
	$(__OPTIMIZEFLAG_6) /D_CRT_SECURE_NO_DEPRECATE=1 \
 | 
						|
	/D_CRT_NON_CONFORMING_SWPRINTFS=1 /D_SCL_SECURE_NO_WARNINGS=1 \
 | 
						|
	$(__NO_VC_CRTDBG_p) /D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) \
 | 
						|
	$(__NDEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
 | 
						|
	$(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) /I$(SETUPHDIR) /I.\..\..\include \
 | 
						|
	$(____CAIRO_INCLUDEDIR_FILENAMES_p) /W4 /I. $(__DLLFLAG_p) /D_CONSOLE \
 | 
						|
	/DwxUSE_GUI=0 $(__RTTIFLAG_11) $(__EXCEPTIONSFLAG_12) $(CPPFLAGS) \
 | 
						|
	$(CXXFLAGS)
 | 
						|
EXECMON_OBJECTS =  \
 | 
						|
	$(OBJS)\execmon_execmon.obj
 | 
						|
 | 
						|
### Conditionally set variables: ###
 | 
						|
 | 
						|
!if "$(TARGET_CPU)" == "AMD64"
 | 
						|
ARCH_SUFFIX = _x64
 | 
						|
!endif
 | 
						|
!if "$(TARGET_CPU)" == "ARM64"
 | 
						|
ARCH_SUFFIX = _arm64
 | 
						|
!endif
 | 
						|
!if "$(TARGET_CPU)" == "IA64"
 | 
						|
ARCH_SUFFIX = _ia64
 | 
						|
!endif
 | 
						|
!if "$(TARGET_CPU)" == "X64"
 | 
						|
ARCH_SUFFIX = _x64
 | 
						|
!endif
 | 
						|
!if "$(TARGET_CPU)" == "amd64"
 | 
						|
ARCH_SUFFIX = _x64
 | 
						|
!endif
 | 
						|
!if "$(TARGET_CPU)" == "arm64"
 | 
						|
ARCH_SUFFIX = _arm64
 | 
						|
!endif
 | 
						|
!if "$(TARGET_CPU)" == "ia64"
 | 
						|
ARCH_SUFFIX = _ia64
 | 
						|
!endif
 | 
						|
!if "$(TARGET_CPU)" == "x64"
 | 
						|
ARCH_SUFFIX = _x64
 | 
						|
!endif
 | 
						|
!if "$(USE_GUI)" == "0"
 | 
						|
PORTNAME = base
 | 
						|
!endif
 | 
						|
!if "$(USE_GUI)" == "1"
 | 
						|
PORTNAME = msw$(TOOLKIT_VERSION)
 | 
						|
!endif
 | 
						|
!if "$(OFFICIAL_BUILD)" == "1"
 | 
						|
COMPILER_VERSION = ERROR-COMPILER-VERSION-MUST-BE-SET-FOR-OFFICIAL-BUILD
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
 | 
						|
WXDEBUGFLAG = d
 | 
						|
!endif
 | 
						|
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
 | 
						|
WXDEBUGFLAG = d
 | 
						|
!endif
 | 
						|
!if "$(UNICODE)" == "1"
 | 
						|
WXUNICODEFLAG = u
 | 
						|
!endif
 | 
						|
!if "$(WXUNIV)" == "1"
 | 
						|
WXUNIVNAME = univ
 | 
						|
!endif
 | 
						|
!if "$(SHARED)" == "1"
 | 
						|
WXDLLFLAG = dll
 | 
						|
!endif
 | 
						|
!if "$(SHARED)" == "0"
 | 
						|
LIBTYPE_SUFFIX = lib
 | 
						|
!endif
 | 
						|
!if "$(SHARED)" == "1"
 | 
						|
LIBTYPE_SUFFIX = dll
 | 
						|
!endif
 | 
						|
!if "$(TARGET_CPU)" == "AMD64"
 | 
						|
LINK_TARGET_CPU = /MACHINE:X64
 | 
						|
!endif
 | 
						|
!if "$(TARGET_CPU)" == "ARM64"
 | 
						|
LINK_TARGET_CPU = /MACHINE:ARM64
 | 
						|
!endif
 | 
						|
!if "$(TARGET_CPU)" == "IA64"
 | 
						|
LINK_TARGET_CPU = /MACHINE:IA64
 | 
						|
!endif
 | 
						|
!if "$(TARGET_CPU)" == "X64"
 | 
						|
LINK_TARGET_CPU = /MACHINE:X64
 | 
						|
!endif
 | 
						|
!if "$(TARGET_CPU)" == "amd64"
 | 
						|
LINK_TARGET_CPU = /MACHINE:X64
 | 
						|
!endif
 | 
						|
!if "$(TARGET_CPU)" == "arm64"
 | 
						|
LINK_TARGET_CPU = /MACHINE:ARM64
 | 
						|
!endif
 | 
						|
!if "$(TARGET_CPU)" == "ia64"
 | 
						|
LINK_TARGET_CPU = /MACHINE:IA64
 | 
						|
!endif
 | 
						|
!if "$(TARGET_CPU)" == "x64"
 | 
						|
LINK_TARGET_CPU = /MACHINE:X64
 | 
						|
!endif
 | 
						|
!if "$(MONOLITHIC)" == "0"
 | 
						|
EXTRALIBS_FOR_BASE = 
 | 
						|
!endif
 | 
						|
!if "$(MONOLITHIC)" == "1"
 | 
						|
EXTRALIBS_FOR_BASE =   
 | 
						|
!endif
 | 
						|
!if "$(USE_XRC)" == "1"
 | 
						|
__execmon___depname = $(OBJS)\execmon.exe
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
 | 
						|
__DEBUGINFO_0 = /Zi
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
 | 
						|
__DEBUGINFO_0 = 
 | 
						|
!endif
 | 
						|
!if "$(DEBUG_INFO)" == "0"
 | 
						|
__DEBUGINFO_0 = 
 | 
						|
!endif
 | 
						|
!if "$(DEBUG_INFO)" == "1"
 | 
						|
__DEBUGINFO_0 = /Zi
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
 | 
						|
__DEBUGINFO_1 = /DEBUG
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
 | 
						|
__DEBUGINFO_1 = 
 | 
						|
!endif
 | 
						|
!if "$(DEBUG_INFO)" == "0"
 | 
						|
__DEBUGINFO_1 = 
 | 
						|
!endif
 | 
						|
!if "$(DEBUG_INFO)" == "1"
 | 
						|
__DEBUGINFO_1 = /DEBUG
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
 | 
						|
__DEBUGINFO_2 = $(__DEBUGRUNTIME_5)
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
 | 
						|
__DEBUGINFO_2 = 
 | 
						|
!endif
 | 
						|
!if "$(DEBUG_INFO)" == "0"
 | 
						|
__DEBUGINFO_2 = 
 | 
						|
!endif
 | 
						|
!if "$(DEBUG_INFO)" == "1"
 | 
						|
__DEBUGINFO_2 = $(__DEBUGRUNTIME_5)
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
 | 
						|
____DEBUGRUNTIME_3_p = /D_DEBUG
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
 | 
						|
____DEBUGRUNTIME_3_p = 
 | 
						|
!endif
 | 
						|
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
 | 
						|
____DEBUGRUNTIME_3_p = 
 | 
						|
!endif
 | 
						|
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
 | 
						|
____DEBUGRUNTIME_3_p = /D_DEBUG
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
 | 
						|
__DEBUGRUNTIME_4 = d
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
 | 
						|
__DEBUGRUNTIME_4 = 
 | 
						|
!endif
 | 
						|
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
 | 
						|
__DEBUGRUNTIME_4 = 
 | 
						|
!endif
 | 
						|
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
 | 
						|
__DEBUGRUNTIME_4 = d
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
 | 
						|
__DEBUGRUNTIME_5 = 
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
 | 
						|
__DEBUGRUNTIME_5 = /opt:ref /opt:icf
 | 
						|
!endif
 | 
						|
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
 | 
						|
__DEBUGRUNTIME_5 = /opt:ref /opt:icf
 | 
						|
!endif
 | 
						|
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
 | 
						|
__DEBUGRUNTIME_5 = 
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "debug"
 | 
						|
__OPTIMIZEFLAG_6 = /Od
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "release"
 | 
						|
__OPTIMIZEFLAG_6 = /O2
 | 
						|
!endif
 | 
						|
!if "$(USE_THREADS)" == "0"
 | 
						|
__THREADSFLAG_9 = L
 | 
						|
!endif
 | 
						|
!if "$(USE_THREADS)" == "1"
 | 
						|
__THREADSFLAG_9 = T
 | 
						|
!endif
 | 
						|
!if "$(RUNTIME_LIBS)" == "dynamic"
 | 
						|
__RUNTIME_LIBS_10 = D
 | 
						|
!endif
 | 
						|
!if "$(RUNTIME_LIBS)" == "static"
 | 
						|
__RUNTIME_LIBS_10 = $(__THREADSFLAG_9)
 | 
						|
!endif
 | 
						|
!if "$(USE_RTTI)" == "0"
 | 
						|
__RTTIFLAG_11 = /GR-
 | 
						|
!endif
 | 
						|
!if "$(USE_RTTI)" == "1"
 | 
						|
__RTTIFLAG_11 = /GR
 | 
						|
!endif
 | 
						|
!if "$(USE_EXCEPTIONS)" == "0"
 | 
						|
__EXCEPTIONSFLAG_12 = 
 | 
						|
!endif
 | 
						|
!if "$(USE_EXCEPTIONS)" == "1"
 | 
						|
__EXCEPTIONSFLAG_12 = /EHsc
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
 | 
						|
__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
 | 
						|
__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
 | 
						|
!endif
 | 
						|
!if "$(WXUNIV)" == "1"
 | 
						|
__WXUNIV_DEFINE_p = /D__WXUNIVERSAL__
 | 
						|
!endif
 | 
						|
!if "$(DEBUG_FLAG)" == "0"
 | 
						|
__DEBUG_DEFINE_p = /DwxDEBUG_LEVEL=0
 | 
						|
!endif
 | 
						|
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
 | 
						|
__NDEBUG_DEFINE_p = /DNDEBUG
 | 
						|
!endif
 | 
						|
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
 | 
						|
__NDEBUG_DEFINE_p = /DNDEBUG
 | 
						|
!endif
 | 
						|
!if "$(USE_EXCEPTIONS)" == "0"
 | 
						|
__EXCEPTIONS_DEFINE_p = /DwxNO_EXCEPTIONS
 | 
						|
!endif
 | 
						|
!if "$(USE_RTTI)" == "0"
 | 
						|
__RTTI_DEFINE_p = /DwxNO_RTTI
 | 
						|
!endif
 | 
						|
!if "$(USE_THREADS)" == "0"
 | 
						|
__THREAD_DEFINE_p = /DwxNO_THREADS
 | 
						|
!endif
 | 
						|
!if "$(UNICODE)" == "0"
 | 
						|
__UNICODE_DEFINE_p = /DwxUSE_UNICODE=0
 | 
						|
!endif
 | 
						|
!if "$(UNICODE)" == "1"
 | 
						|
__UNICODE_DEFINE_p = /D_UNICODE
 | 
						|
!endif
 | 
						|
!if "$(USE_CAIRO)" == "1"
 | 
						|
____CAIRO_INCLUDEDIR_FILENAMES_p = /I$(CAIRO_ROOT)\include\cairo
 | 
						|
!endif
 | 
						|
!if "$(SHARED)" == "1"
 | 
						|
__DLLFLAG_p = /DWXUSINGDLL
 | 
						|
!endif
 | 
						|
!if "$(MONOLITHIC)" == "0"
 | 
						|
__WXLIB_BASE_p = \
 | 
						|
	wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
 | 
						|
!endif
 | 
						|
!if "$(MONOLITHIC)" == "1"
 | 
						|
__WXLIB_MONO_p = \
 | 
						|
	wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
 | 
						|
!endif
 | 
						|
!if "$(MONOLITHIC)" == "1"
 | 
						|
__LIB_PNG_IF_MONO_p = $(__LIB_PNG_p)
 | 
						|
!endif
 | 
						|
!if "$(USE_GUI)" == "1"
 | 
						|
__LIB_PNG_p = wxpng$(WXDEBUGFLAG).lib
 | 
						|
!endif
 | 
						|
!if "$(USE_CAIRO)" == "1"
 | 
						|
__CAIRO_LIB_p = cairo.lib
 | 
						|
!endif
 | 
						|
!if "$(USE_CAIRO)" == "1"
 | 
						|
____CAIRO_LIBDIR_FILENAMES_p = /LIBPATH:$(CAIRO_ROOT)\lib
 | 
						|
!endif
 | 
						|
 | 
						|
 | 
						|
all: $(OBJS)
 | 
						|
$(OBJS):
 | 
						|
	-if not exist $(OBJS) mkdir $(OBJS)
 | 
						|
 | 
						|
### Targets: ###
 | 
						|
 | 
						|
all: $(__execmon___depname)
 | 
						|
 | 
						|
clean: 
 | 
						|
	-if exist $(OBJS)\*.obj del $(OBJS)\*.obj
 | 
						|
	-if exist $(OBJS)\*.res del $(OBJS)\*.res
 | 
						|
	-if exist $(OBJS)\*.pch del $(OBJS)\*.pch
 | 
						|
	-if exist $(OBJS)\execmon.exe del $(OBJS)\execmon.exe
 | 
						|
	-if exist $(OBJS)\execmon.ilk del $(OBJS)\execmon.ilk
 | 
						|
	-if exist $(OBJS)\execmon.pdb del $(OBJS)\execmon.pdb
 | 
						|
 | 
						|
!if "$(USE_XRC)" == "1"
 | 
						|
$(OBJS)\execmon.exe: $(EXECMON_OBJECTS)
 | 
						|
	link /NOLOGO /OUT:$@  $(__DEBUGINFO_1) /pdb:"$(OBJS)\execmon.pdb" $(__DEBUGINFO_2)  $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) /SUBSYSTEM:CONSOLE $(____CAIRO_LIBDIR_FILENAMES_p) $(LDFLAGS) @<<
 | 
						|
	$(EXECMON_OBJECTS)   $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_PNG_IF_MONO_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib wsock32.lib wininet.lib
 | 
						|
<<
 | 
						|
!endif
 | 
						|
 | 
						|
$(OBJS)\execmon_execmon.obj: .\execmon.cpp
 | 
						|
	$(CXX) /c /nologo /TP /Fo$@ $(EXECMON_CXXFLAGS) .\execmon.cpp
 | 
						|
 |