6705913: freetype_versioncheck.exe - Unable To Locate Component
Update freetype_versioncheck to deal with newer Visual Studio releases Reviewed-by: ohair
This commit is contained in:
parent
0fcf19433e
commit
edc02e3e92
@ -28,16 +28,21 @@ BUILDDIR = ../..
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
# Default name
|
||||
FT_TEST = $(BUILDTOOLBINDIR)/freetype_versioncheck$(EXE_SUFFIX)
|
||||
PROGRAM = freetype_versioncheck
|
||||
FT_OBJ = $(BUILDTOOLBINDIR)/$(PROGRAM).$(OBJECT_SUFFIX)
|
||||
FT_TEST = $(BUILDTOOLBINDIR)/$(PROGRAM)$(EXE_SUFFIX)
|
||||
|
||||
# Used on openjdk only
|
||||
ifeq ($(OPENJDK),true)
|
||||
|
||||
# Start with CFLAGS (which gets us the required -xarch setting on solaris)
|
||||
ifeq ($(PLATFORM), windows)
|
||||
FT_OPTIONS = /nologo $(CC_OBJECT_OUTPUT_FLAG)$(TEMPDIR)
|
||||
FT_OPTIONS = /nologo /c
|
||||
FREETYPE_DLL = $(FREETYPE_LIB_PATH)/freetype.dll
|
||||
FT_LD_OPTIONS = $(FREETYPE_LIB_PATH)/freetype.lib
|
||||
ifdef MT
|
||||
FT_LD_OPTIONS += /manifest
|
||||
endif
|
||||
else
|
||||
FT_OPTIONS = $(CFLAGS)
|
||||
FT_LD_OPTIONS = -L$(FREETYPE_LIB_PATH)
|
||||
@ -55,15 +60,22 @@ FT_LD_OPTIONS += $(LFLAGS_$(COMPILER_VERSION))
|
||||
|
||||
# Create test program
|
||||
all: $(FT_TEST)
|
||||
@$(FT_TEST)
|
||||
$(FT_TEST)
|
||||
|
||||
# On windows we need to copy dll to test dir to ensure it will be found
|
||||
# at runtime
|
||||
$(FT_TEST): freetypecheck.c
|
||||
@$(prep-target)
|
||||
@$(CC) $(FT_OPTIONS) $(CC_PROGRAM_OUTPUT_FLAG)$@ $< $(FT_LD_OPTIONS)
|
||||
$(prep-target)
|
||||
ifeq ($(PLATFORM), windows)
|
||||
@$(CP) $(FREETYPE_DLL) `dirname $@`
|
||||
$(CC) $(FT_OPTIONS) $(CC_OBJECT_OUTPUT_FLAG)$(FT_OBJ) $<
|
||||
$(LINK) $(FT_LD_OPTIONS) /OUT:$(FT_TEST) $(FT_OBJ)
|
||||
$(CP) $(FREETYPE_DLL) $(@D)/
|
||||
ifdef MT
|
||||
$(CP) $(MSVCRNN_DLL_PATH)/$(MSVCRNN_DLL) $(@D)/
|
||||
$(MT) /manifest $(FT_TEST).manifest /outputresource:$(FT_TEST);#1
|
||||
endif
|
||||
else
|
||||
@$(CC) $(FT_OPTIONS) $(CC_PROGRAM_OUTPUT_FLAG)$@ $< $(FT_LD_OPTIONS)
|
||||
endif
|
||||
|
||||
else
|
||||
|
@ -32,6 +32,45 @@
|
||||
#include "ft2build.h"
|
||||
#include FT_FREETYPE_H
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#if _MSC_VER > 1400
|
||||
|
||||
/*
|
||||
* When building for Microsoft Windows, your program has a dependency
|
||||
* on msvcr??.dll.
|
||||
*
|
||||
* When using Visual Studio 2005 or later, that must be recorded in
|
||||
* the <program>.exe.manifest file.
|
||||
*
|
||||
* Reference:
|
||||
* C:/Program Files/Microsoft SDKs/Windows/v6.1/include/crtdefs.h
|
||||
*/
|
||||
#include <crtassem.h>
|
||||
#ifdef _M_IX86
|
||||
|
||||
#pragma comment(linker,"/manifestdependency:\"type='win32' " \
|
||||
"name='" __LIBRARIES_ASSEMBLY_NAME_PREFIX ".CRT' " \
|
||||
"version='" _CRT_ASSEMBLY_VERSION "' " \
|
||||
"processorArchitecture='x86' " \
|
||||
"publicKeyToken='" _VC_ASSEMBLY_PUBLICKEYTOKEN "'\"")
|
||||
|
||||
#endif /* _M_IX86 */
|
||||
|
||||
//This may not be necessary yet for the Windows 64-bit build, but it
|
||||
//will be when that build environment is updated. Need to test to see
|
||||
//if it is harmless:
|
||||
#ifdef _M_AMD64
|
||||
|
||||
#pragma comment(linker,"/manifestdependency:\"type='win32' " \
|
||||
"name='" __LIBRARIES_ASSEMBLY_NAME_PREFIX ".CRT' " \
|
||||
"version='" _CRT_ASSEMBLY_VERSION "' " \
|
||||
"processorArchitecture='amd64' " \
|
||||
"publicKeyToken='" _VC_ASSEMBLY_PUBLICKEYTOKEN "'\"")
|
||||
|
||||
#endif /* _M_AMD64 */
|
||||
#endif /* _MSC_VER > 1400 */
|
||||
#endif /* _MSC_VER */
|
||||
|
||||
#define QUOTEMACRO(x) QUOTEME(x)
|
||||
#define QUOTEME(x) #x
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user