+ win9xwsmanager unit provided by Bart Broersma, resolves #17381

git-svn-id: trunk@17474 -
This commit is contained in:
florian 2011-05-15 18:27:17 +00:00
parent a15cb2ed4b
commit 8c550de5f8
5 changed files with 416 additions and 73 deletions

1
.gitattributes vendored
View File

@ -6338,6 +6338,7 @@ packages/winunits-base/src/shfolder.pp svneol=native#text/plain
packages/winunits-base/src/shlobj.pp svneol=native#text/plain packages/winunits-base/src/shlobj.pp svneol=native#text/plain
packages/winunits-base/src/tmschema.inc svneol=native#text/plain packages/winunits-base/src/tmschema.inc svneol=native#text/plain
packages/winunits-base/src/uxtheme.pp svneol=native#text/plain packages/winunits-base/src/uxtheme.pp svneol=native#text/plain
packages/winunits-base/src/win9xwsmanager.pp svneol=native#text/pascal
packages/winunits-base/src/wininet.pp svneol=native#text/plain packages/winunits-base/src/wininet.pp svneol=native#text/plain
packages/winunits-base/src/winspool.pp svneol=native#text/pascal packages/winunits-base/src/winspool.pp svneol=native#text/pascal
packages/winunits-base/src/winutils.pp svneol=native#text/pascal packages/winunits-base/src/winutils.pp svneol=native#text/pascal

View File

@ -1,8 +1,8 @@
# #
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2010/09/29] # Don't edit, this file is generated by FPCMake Version 2.0.0 [2011/05/15]
# #
default: all default: all
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-solaris x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded mipsel-linux MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-solaris x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded mipsel-linux
BSDs = freebsd netbsd openbsd darwin BSDs = freebsd netbsd openbsd darwin
UNIXs = linux $(BSDs) solaris qnx haiku UNIXs = linux $(BSDs) solaris qnx haiku
LIMIT83fs = go32v2 os2 emx watcom LIMIT83fs = go32v2 os2 emx watcom
@ -107,25 +107,37 @@ FPC=$(PP)
endif endif
endif endif
ifndef FPC ifndef FPC
DETERMINE_NATIVE_COMPILER=1
else
ifdef CROSSCOMPILE
ifndef FPCFPMAKE
DETERMINE_NATIVE_COMPILER=1
endif
endif
endif
ifdef DETERMINE_NATIVE_COMPILER
FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH)))) FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
ifneq ($(FPCPROG),) ifneq ($(FPCPROG),)
FPCPROG:=$(firstword $(FPCPROG)) FPCPROG:=$(firstword $(FPCPROG))
ifneq ($(CPU_TARGET),) ifneq ($(CPU_TARGET),)
FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB) FPCNATIVE:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB)
else else
FPC:=$(shell $(FPCPROG) -PB) FPCNATIVE:=$(shell $(FPCPROG) -PB)
endif endif
ifneq ($(findstring Error,$(FPC)),) ifneq ($(findstring Error,$(FPCNATIVE)),)
override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH))))) override FPCNATIVE=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
else else
ifeq ($(strip $(wildcard $(FPC))),) ifeq ($(strip $(wildcard $(FPCNATIVE))),)
FPC:=$(firstword $(FPCPROG)) FPCNATIVE:=$(firstword $(FPCPROG))
endif endif
endif endif
else else
override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH))))) override FPCNATIVE=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
endif endif
endif endif
ifndef FPC
FPC=$(FPCNATIVE)
endif
override FPC:=$(subst $(SRCEXEEXT),,$(FPC)) override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT) override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
FOUNDFPC:=$(strip $(wildcard $(FPC))) FOUNDFPC:=$(strip $(wildcard $(FPC)))
@ -264,6 +276,18 @@ ifeq ($(UNITSDIR),)
UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
endif endif
PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra) PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
ifndef FPCFPMAKE
ifdef CROSSCOMPILE
ifeq ($(strip $(wildcard $(addsuffix /compiler/ppc$(SRCEXEEXT),$(FPCDIR)))),)
FPCFPMAKE:=$(FPCNATIVE)
else
FPCFPMAKE=$(strip $(wildcard $(addsuffix /compiler/ppc$(SRCEXEEXT),$(FPCDIR))))
endif
else
FPCFPMAKE=$(FPC)
endif
endif
export FPCFPMAKE
override PACKAGE_NAME=winunits-base override PACKAGE_NAME=winunits-base
override PACKAGE_VERSION=2.5.1 override PACKAGE_VERSION=2.5.1
ifeq ($(FULL_TARGET),i386-linux) ifeq ($(FULL_TARGET),i386-linux)
@ -377,6 +401,9 @@ endif
ifeq ($(FULL_TARGET),powerpc-embedded) ifeq ($(FULL_TARGET),powerpc-embedded)
override TARGET_UNITS+=buildwinutilsbase override TARGET_UNITS+=buildwinutilsbase
endif endif
ifeq ($(FULL_TARGET),powerpc-wii)
override TARGET_UNITS+=buildwinutilsbase
endif
ifeq ($(FULL_TARGET),sparc-linux) ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_UNITS+=buildwinutilsbase override TARGET_UNITS+=buildwinutilsbase
endif endif
@ -453,190 +480,193 @@ ifeq ($(FULL_TARGET),mipsel-linux)
override TARGET_UNITS+=buildwinutilsbase override TARGET_UNITS+=buildwinutilsbase
endif endif
ifeq ($(FULL_TARGET),i386-linux) ifeq ($(FULL_TARGET),i386-linux)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-go32v2) ifeq ($(FULL_TARGET),i386-go32v2)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-win32) ifeq ($(FULL_TARGET),i386-win32)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-os2) ifeq ($(FULL_TARGET),i386-os2)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-freebsd) ifeq ($(FULL_TARGET),i386-freebsd)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-beos) ifeq ($(FULL_TARGET),i386-beos)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-haiku) ifeq ($(FULL_TARGET),i386-haiku)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-netbsd) ifeq ($(FULL_TARGET),i386-netbsd)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-solaris) ifeq ($(FULL_TARGET),i386-solaris)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-qnx) ifeq ($(FULL_TARGET),i386-qnx)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-netware) ifeq ($(FULL_TARGET),i386-netware)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-openbsd) ifeq ($(FULL_TARGET),i386-openbsd)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-wdosx) ifeq ($(FULL_TARGET),i386-wdosx)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-darwin) ifeq ($(FULL_TARGET),i386-darwin)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-emx) ifeq ($(FULL_TARGET),i386-emx)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-watcom) ifeq ($(FULL_TARGET),i386-watcom)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-netwlibc) ifeq ($(FULL_TARGET),i386-netwlibc)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-wince) ifeq ($(FULL_TARGET),i386-wince)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-embedded) ifeq ($(FULL_TARGET),i386-embedded)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-symbian) ifeq ($(FULL_TARGET),i386-symbian)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-nativent) ifeq ($(FULL_TARGET),i386-nativent)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-iphonesim) ifeq ($(FULL_TARGET),i386-iphonesim)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),m68k-linux) ifeq ($(FULL_TARGET),m68k-linux)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),m68k-freebsd) ifeq ($(FULL_TARGET),m68k-freebsd)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),m68k-netbsd) ifeq ($(FULL_TARGET),m68k-netbsd)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),m68k-amiga) ifeq ($(FULL_TARGET),m68k-amiga)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),m68k-atari) ifeq ($(FULL_TARGET),m68k-atari)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),m68k-openbsd) ifeq ($(FULL_TARGET),m68k-openbsd)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),m68k-palmos) ifeq ($(FULL_TARGET),m68k-palmos)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),m68k-embedded) ifeq ($(FULL_TARGET),m68k-embedded)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),powerpc-linux) ifeq ($(FULL_TARGET),powerpc-linux)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),powerpc-netbsd) ifeq ($(FULL_TARGET),powerpc-netbsd)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),powerpc-amiga) ifeq ($(FULL_TARGET),powerpc-amiga)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),powerpc-macos) ifeq ($(FULL_TARGET),powerpc-macos)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),powerpc-darwin) ifeq ($(FULL_TARGET),powerpc-darwin)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),powerpc-morphos) ifeq ($(FULL_TARGET),powerpc-morphos)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),powerpc-embedded) ifeq ($(FULL_TARGET),powerpc-embedded)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif
ifeq ($(FULL_TARGET),powerpc-wii)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),sparc-linux) ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),sparc-netbsd) ifeq ($(FULL_TARGET),sparc-netbsd)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),sparc-solaris) ifeq ($(FULL_TARGET),sparc-solaris)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),sparc-embedded) ifeq ($(FULL_TARGET),sparc-embedded)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),x86_64-linux) ifeq ($(FULL_TARGET),x86_64-linux)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),x86_64-freebsd) ifeq ($(FULL_TARGET),x86_64-freebsd)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),x86_64-solaris) ifeq ($(FULL_TARGET),x86_64-solaris)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),x86_64-darwin) ifeq ($(FULL_TARGET),x86_64-darwin)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),x86_64-win64) ifeq ($(FULL_TARGET),x86_64-win64)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),x86_64-embedded) ifeq ($(FULL_TARGET),x86_64-embedded)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),arm-linux) ifeq ($(FULL_TARGET),arm-linux)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),arm-palmos) ifeq ($(FULL_TARGET),arm-palmos)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),arm-darwin) ifeq ($(FULL_TARGET),arm-darwin)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),arm-wince) ifeq ($(FULL_TARGET),arm-wince)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),arm-gba) ifeq ($(FULL_TARGET),arm-gba)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),arm-nds) ifeq ($(FULL_TARGET),arm-nds)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),arm-embedded) ifeq ($(FULL_TARGET),arm-embedded)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),arm-symbian) ifeq ($(FULL_TARGET),arm-symbian)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),powerpc64-linux) ifeq ($(FULL_TARGET),powerpc64-linux)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),powerpc64-darwin) ifeq ($(FULL_TARGET),powerpc64-darwin)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),powerpc64-embedded) ifeq ($(FULL_TARGET),powerpc64-embedded)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),avr-embedded) ifeq ($(FULL_TARGET),avr-embedded)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),armeb-linux) ifeq ($(FULL_TARGET),armeb-linux)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),armeb-embedded) ifeq ($(FULL_TARGET),armeb-embedded)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),mipsel-linux) ifeq ($(FULL_TARGET),mipsel-linux)
override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 override TARGET_IMPLICITUNITS+=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 win9xwsmanager
endif endif
ifeq ($(FULL_TARGET),i386-linux) ifeq ($(FULL_TARGET),i386-linux)
override TARGET_RSTS+=jwawintype comconst override TARGET_RSTS+=jwawintype comconst
@ -749,6 +779,9 @@ endif
ifeq ($(FULL_TARGET),powerpc-embedded) ifeq ($(FULL_TARGET),powerpc-embedded)
override TARGET_RSTS+=jwawintype comconst override TARGET_RSTS+=jwawintype comconst
endif endif
ifeq ($(FULL_TARGET),powerpc-wii)
override TARGET_RSTS+=jwawintype comconst
endif
ifeq ($(FULL_TARGET),sparc-linux) ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_RSTS+=jwawintype comconst override TARGET_RSTS+=jwawintype comconst
endif endif
@ -935,6 +968,9 @@ endif
ifeq ($(FULL_TARGET),powerpc-embedded) ifeq ($(FULL_TARGET),powerpc-embedded)
override TARGET_EXAMPLES+=examples override TARGET_EXAMPLES+=examples
endif endif
ifeq ($(FULL_TARGET),powerpc-wii)
override TARGET_EXAMPLES+=examples
endif
ifeq ($(FULL_TARGET),sparc-linux) ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_EXAMPLES+=examples override TARGET_EXAMPLES+=examples
endif endif
@ -1123,6 +1159,9 @@ endif
ifeq ($(FULL_TARGET),powerpc-embedded) ifeq ($(FULL_TARGET),powerpc-embedded)
override COMPILER_OPTIONS+=-Ur override COMPILER_OPTIONS+=-Ur
endif endif
ifeq ($(FULL_TARGET),powerpc-wii)
override COMPILER_OPTIONS+=-Ur
endif
ifeq ($(FULL_TARGET),sparc-linux) ifeq ($(FULL_TARGET),sparc-linux)
override COMPILER_OPTIONS+=-Ur override COMPILER_OPTIONS+=-Ur
endif endif
@ -1309,6 +1348,9 @@ endif
ifeq ($(FULL_TARGET),powerpc-embedded) ifeq ($(FULL_TARGET),powerpc-embedded)
override COMPILER_SOURCEDIR+=src override COMPILER_SOURCEDIR+=src
endif endif
ifeq ($(FULL_TARGET),powerpc-wii)
override COMPILER_SOURCEDIR+=src
endif
ifeq ($(FULL_TARGET),sparc-linux) ifeq ($(FULL_TARGET),sparc-linux)
override COMPILER_SOURCEDIR+=src override COMPILER_SOURCEDIR+=src
endif endif
@ -1761,6 +1803,11 @@ ifeq ($(OS_TARGET),NativeNT)
SHAREDLIBEXT=.dll SHAREDLIBEXT=.dll
SHORTSUFFIX=nativent SHORTSUFFIX=nativent
endif endif
ifeq ($(OS_TARGET),wii)
EXEEXT=.dol
SHAREDLIBEXT=.so
SHORTSUFFIX=wii
endif
else else
ifeq ($(OS_TARGET),go32v1) ifeq ($(OS_TARGET),go32v1)
PPUEXT=.pp1 PPUEXT=.pp1
@ -2421,6 +2468,12 @@ REQUIRE_PACKAGES_FCL-BASE=1
REQUIRE_PACKAGES_FCL-XML=1 REQUIRE_PACKAGES_FCL-XML=1
REQUIRE_PACKAGES_FCL-REGISTRY=1 REQUIRE_PACKAGES_FCL-REGISTRY=1
endif endif
ifeq ($(FULL_TARGET),powerpc-wii)
REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_FCL-BASE=1
REQUIRE_PACKAGES_FCL-XML=1
REQUIRE_PACKAGES_FCL-REGISTRY=1
endif
ifeq ($(FULL_TARGET),sparc-linux) ifeq ($(FULL_TARGET),sparc-linux)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_FCL-BASE=1 REQUIRE_PACKAGES_FCL-BASE=1
@ -2592,6 +2645,15 @@ UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)
else else
UNITDIR_RTL=$(PACKAGEDIR_RTL) UNITDIR_RTL=$(PACKAGEDIR_RTL)
endif endif
ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(SOURCESUFFIX)),)
UNITDIR_FPMAKE_RTL=$(PACKAGEDIR_RTL)/units/$(SOURCESUFFIX)
else
ifneq ($(wildcard $(PACKAGEDIR_RTL)/units_bs/$(SOURCESUFFIX)),)
UNITDIR_FPMAKE_RTL=$(PACKAGEDIR_RTL)/units_bs/$(SOURCESUFFIX)
else
UNITDIR_FPMAKE_RTL=$(PACKAGEDIR_RTL)
endif
endif
ifdef CHECKDEPEND ifdef CHECKDEPEND
$(PACKAGEDIR_RTL)/$(OS_TARGET)/$(FPCMADE): $(PACKAGEDIR_RTL)/$(OS_TARGET)/$(FPCMADE):
$(MAKE) -C $(PACKAGEDIR_RTL)/$(OS_TARGET) $(FPCMADE) $(MAKE) -C $(PACKAGEDIR_RTL)/$(OS_TARGET) $(FPCMADE)
@ -2609,6 +2671,9 @@ endif
ifdef UNITDIR_RTL ifdef UNITDIR_RTL
override COMPILER_UNITDIR+=$(UNITDIR_RTL) override COMPILER_UNITDIR+=$(UNITDIR_RTL)
endif endif
ifdef UNITDIR_FPMAKE_RTL
override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_RTL)
endif
endif endif
ifdef REQUIRE_PACKAGES_FCL-BASE ifdef REQUIRE_PACKAGES_FCL-BASE
PACKAGEDIR_FCL-BASE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-base/Makefile.fpc,$(PACKAGESDIR)))))) PACKAGEDIR_FCL-BASE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-base/Makefile.fpc,$(PACKAGESDIR))))))
@ -2618,6 +2683,15 @@ UNITDIR_FCL-BASE=$(PACKAGEDIR_FCL-BASE)/units/$(TARGETSUFFIX)
else else
UNITDIR_FCL-BASE=$(PACKAGEDIR_FCL-BASE) UNITDIR_FCL-BASE=$(PACKAGEDIR_FCL-BASE)
endif endif
ifneq ($(wildcard $(PACKAGEDIR_FCL-BASE)/units/$(SOURCESUFFIX)),)
UNITDIR_FPMAKE_FCL-BASE=$(PACKAGEDIR_FCL-BASE)/units/$(SOURCESUFFIX)
else
ifneq ($(wildcard $(PACKAGEDIR_FCL-BASE)/units_bs/$(SOURCESUFFIX)),)
UNITDIR_FPMAKE_FCL-BASE=$(PACKAGEDIR_FCL-BASE)/units_bs/$(SOURCESUFFIX)
else
UNITDIR_FPMAKE_FCL-BASE=$(PACKAGEDIR_FCL-BASE)
endif
endif
ifdef CHECKDEPEND ifdef CHECKDEPEND
$(PACKAGEDIR_FCL-BASE)/$(FPCMADE): $(PACKAGEDIR_FCL-BASE)/$(FPCMADE):
$(MAKE) -C $(PACKAGEDIR_FCL-BASE) $(FPCMADE) $(MAKE) -C $(PACKAGEDIR_FCL-BASE) $(FPCMADE)
@ -2635,6 +2709,9 @@ endif
ifdef UNITDIR_FCL-BASE ifdef UNITDIR_FCL-BASE
override COMPILER_UNITDIR+=$(UNITDIR_FCL-BASE) override COMPILER_UNITDIR+=$(UNITDIR_FCL-BASE)
endif endif
ifdef UNITDIR_FPMAKE_FCL-BASE
override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-BASE)
endif
endif endif
ifdef REQUIRE_PACKAGES_ICONVENC ifdef REQUIRE_PACKAGES_ICONVENC
PACKAGEDIR_ICONVENC:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /iconvenc/Makefile.fpc,$(PACKAGESDIR)))))) PACKAGEDIR_ICONVENC:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /iconvenc/Makefile.fpc,$(PACKAGESDIR))))))
@ -2644,6 +2721,15 @@ UNITDIR_ICONVENC=$(PACKAGEDIR_ICONVENC)/units/$(TARGETSUFFIX)
else else
UNITDIR_ICONVENC=$(PACKAGEDIR_ICONVENC) UNITDIR_ICONVENC=$(PACKAGEDIR_ICONVENC)
endif endif
ifneq ($(wildcard $(PACKAGEDIR_ICONVENC)/units/$(SOURCESUFFIX)),)
UNITDIR_FPMAKE_ICONVENC=$(PACKAGEDIR_ICONVENC)/units/$(SOURCESUFFIX)
else
ifneq ($(wildcard $(PACKAGEDIR_ICONVENC)/units_bs/$(SOURCESUFFIX)),)
UNITDIR_FPMAKE_ICONVENC=$(PACKAGEDIR_ICONVENC)/units_bs/$(SOURCESUFFIX)
else
UNITDIR_FPMAKE_ICONVENC=$(PACKAGEDIR_ICONVENC)
endif
endif
ifdef CHECKDEPEND ifdef CHECKDEPEND
$(PACKAGEDIR_ICONVENC)/$(FPCMADE): $(PACKAGEDIR_ICONVENC)/$(FPCMADE):
$(MAKE) -C $(PACKAGEDIR_ICONVENC) $(FPCMADE) $(MAKE) -C $(PACKAGEDIR_ICONVENC) $(FPCMADE)
@ -2661,6 +2747,9 @@ endif
ifdef UNITDIR_ICONVENC ifdef UNITDIR_ICONVENC
override COMPILER_UNITDIR+=$(UNITDIR_ICONVENC) override COMPILER_UNITDIR+=$(UNITDIR_ICONVENC)
endif endif
ifdef UNITDIR_FPMAKE_ICONVENC
override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_ICONVENC)
endif
endif endif
ifdef REQUIRE_PACKAGES_FCL-XML ifdef REQUIRE_PACKAGES_FCL-XML
PACKAGEDIR_FCL-XML:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-xml/Makefile.fpc,$(PACKAGESDIR)))))) PACKAGEDIR_FCL-XML:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-xml/Makefile.fpc,$(PACKAGESDIR))))))
@ -2670,6 +2759,15 @@ UNITDIR_FCL-XML=$(PACKAGEDIR_FCL-XML)/units/$(TARGETSUFFIX)
else else
UNITDIR_FCL-XML=$(PACKAGEDIR_FCL-XML) UNITDIR_FCL-XML=$(PACKAGEDIR_FCL-XML)
endif endif
ifneq ($(wildcard $(PACKAGEDIR_FCL-XML)/units/$(SOURCESUFFIX)),)
UNITDIR_FPMAKE_FCL-XML=$(PACKAGEDIR_FCL-XML)/units/$(SOURCESUFFIX)
else
ifneq ($(wildcard $(PACKAGEDIR_FCL-XML)/units_bs/$(SOURCESUFFIX)),)
UNITDIR_FPMAKE_FCL-XML=$(PACKAGEDIR_FCL-XML)/units_bs/$(SOURCESUFFIX)
else
UNITDIR_FPMAKE_FCL-XML=$(PACKAGEDIR_FCL-XML)
endif
endif
ifdef CHECKDEPEND ifdef CHECKDEPEND
$(PACKAGEDIR_FCL-XML)/$(FPCMADE): $(PACKAGEDIR_FCL-XML)/$(FPCMADE):
$(MAKE) -C $(PACKAGEDIR_FCL-XML) $(FPCMADE) $(MAKE) -C $(PACKAGEDIR_FCL-XML) $(FPCMADE)
@ -2687,6 +2785,9 @@ endif
ifdef UNITDIR_FCL-XML ifdef UNITDIR_FCL-XML
override COMPILER_UNITDIR+=$(UNITDIR_FCL-XML) override COMPILER_UNITDIR+=$(UNITDIR_FCL-XML)
endif endif
ifdef UNITDIR_FPMAKE_FCL-XML
override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-XML)
endif
endif endif
ifdef REQUIRE_PACKAGES_FCL-REGISTRY ifdef REQUIRE_PACKAGES_FCL-REGISTRY
PACKAGEDIR_FCL-REGISTRY:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-registry/Makefile.fpc,$(PACKAGESDIR)))))) PACKAGEDIR_FCL-REGISTRY:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-registry/Makefile.fpc,$(PACKAGESDIR))))))
@ -2696,6 +2797,15 @@ UNITDIR_FCL-REGISTRY=$(PACKAGEDIR_FCL-REGISTRY)/units/$(TARGETSUFFIX)
else else
UNITDIR_FCL-REGISTRY=$(PACKAGEDIR_FCL-REGISTRY) UNITDIR_FCL-REGISTRY=$(PACKAGEDIR_FCL-REGISTRY)
endif endif
ifneq ($(wildcard $(PACKAGEDIR_FCL-REGISTRY)/units/$(SOURCESUFFIX)),)
UNITDIR_FPMAKE_FCL-REGISTRY=$(PACKAGEDIR_FCL-REGISTRY)/units/$(SOURCESUFFIX)
else
ifneq ($(wildcard $(PACKAGEDIR_FCL-REGISTRY)/units_bs/$(SOURCESUFFIX)),)
UNITDIR_FPMAKE_FCL-REGISTRY=$(PACKAGEDIR_FCL-REGISTRY)/units_bs/$(SOURCESUFFIX)
else
UNITDIR_FPMAKE_FCL-REGISTRY=$(PACKAGEDIR_FCL-REGISTRY)
endif
endif
ifdef CHECKDEPEND ifdef CHECKDEPEND
$(PACKAGEDIR_FCL-REGISTRY)/$(FPCMADE): $(PACKAGEDIR_FCL-REGISTRY)/$(FPCMADE):
$(MAKE) -C $(PACKAGEDIR_FCL-REGISTRY) $(FPCMADE) $(MAKE) -C $(PACKAGEDIR_FCL-REGISTRY) $(FPCMADE)
@ -2713,6 +2823,9 @@ endif
ifdef UNITDIR_FCL-REGISTRY ifdef UNITDIR_FCL-REGISTRY
override COMPILER_UNITDIR+=$(UNITDIR_FCL-REGISTRY) override COMPILER_UNITDIR+=$(UNITDIR_FCL-REGISTRY)
endif endif
ifdef UNITDIR_FPMAKE_FCL-REGISTRY
override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-REGISTRY)
endif
endif endif
ifdef REQUIRE_PACKAGES_UNIVINT ifdef REQUIRE_PACKAGES_UNIVINT
PACKAGEDIR_UNIVINT:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /univint/Makefile.fpc,$(PACKAGESDIR)))))) PACKAGEDIR_UNIVINT:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /univint/Makefile.fpc,$(PACKAGESDIR))))))
@ -2722,6 +2835,15 @@ UNITDIR_UNIVINT=$(PACKAGEDIR_UNIVINT)/units/$(TARGETSUFFIX)
else else
UNITDIR_UNIVINT=$(PACKAGEDIR_UNIVINT) UNITDIR_UNIVINT=$(PACKAGEDIR_UNIVINT)
endif endif
ifneq ($(wildcard $(PACKAGEDIR_UNIVINT)/units/$(SOURCESUFFIX)),)
UNITDIR_FPMAKE_UNIVINT=$(PACKAGEDIR_UNIVINT)/units/$(SOURCESUFFIX)
else
ifneq ($(wildcard $(PACKAGEDIR_UNIVINT)/units_bs/$(SOURCESUFFIX)),)
UNITDIR_FPMAKE_UNIVINT=$(PACKAGEDIR_UNIVINT)/units_bs/$(SOURCESUFFIX)
else
UNITDIR_FPMAKE_UNIVINT=$(PACKAGEDIR_UNIVINT)
endif
endif
ifdef CHECKDEPEND ifdef CHECKDEPEND
$(PACKAGEDIR_UNIVINT)/$(FPCMADE): $(PACKAGEDIR_UNIVINT)/$(FPCMADE):
$(MAKE) -C $(PACKAGEDIR_UNIVINT) $(FPCMADE) $(MAKE) -C $(PACKAGEDIR_UNIVINT) $(FPCMADE)
@ -2739,6 +2861,9 @@ endif
ifdef UNITDIR_UNIVINT ifdef UNITDIR_UNIVINT
override COMPILER_UNITDIR+=$(UNITDIR_UNIVINT) override COMPILER_UNITDIR+=$(UNITDIR_UNIVINT)
endif endif
ifdef UNITDIR_FPMAKE_UNIVINT
override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_UNIVINT)
endif
endif endif
ifndef NOCPUDEF ifndef NOCPUDEF
override FPCOPTDEF=$(ARCH) override FPCOPTDEF=$(ARCH)
@ -3252,6 +3377,7 @@ fpc_baseinfo:
@$(ECHO) Full Target.. $(FULL_TARGET) @$(ECHO) Full Target.. $(FULL_TARGET)
@$(ECHO) SourceSuffix. $(SOURCESUFFIX) @$(ECHO) SourceSuffix. $(SOURCESUFFIX)
@$(ECHO) TargetSuffix. $(TARGETSUFFIX) @$(ECHO) TargetSuffix. $(TARGETSUFFIX)
@$(ECHO) FPC fpmake... $(FPCFPMAKE)
@$(ECHO) @$(ECHO)
@$(ECHO) == Directory info == @$(ECHO) == Directory info ==
@$(ECHO) @$(ECHO)

View File

@ -12,7 +12,8 @@ packages=fcl-registry fcl-base
[target] [target]
units=buildwinutilsbase units=buildwinutilsbase
implicitunits=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver \ implicitunits=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver \
shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 \
win9xwsmanager
examples=examples examples=examples

View File

@ -24,7 +24,7 @@ uses
flatsb, winver, mmsystem, comconst, commctrl, comobj, commdlg, flatsb, winver, mmsystem, comconst, commctrl, comobj, commdlg,
ole2, activex, shellapi, shlobj, oleserver, shfolder, richedit, ole2, activex, shellapi, shlobj, oleserver, shfolder, richedit,
imagehlp, wininet, uxtheme, dwmapi, multimon, htmlhelp, winutils, imagehlp, wininet, uxtheme, dwmapi, multimon, htmlhelp, winutils,
comserv, winspool, imm, imm_dyn, nb30; comserv, winspool, imm, imm_dyn, nb30, win9xwsmanager;
implementation implementation

View File

@ -0,0 +1,215 @@
{ *********************************************************************
This file is part of the Free Pascal run time library.
Copyright (c) 2011 by Bart Broersma.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
**********************************************************************}
unit win9xwsmanager;
{**********************************************************************
Objective: to provide minimal WideString Upper- and LowerCase
functionality under Win9x systems.
This is achievd by dynamically linking shlwapi.dll functions.
If this fails a fallback mechanism is provided so that at least all
lower ASCII characters in a WideString are Upper/LowerCased
Without this library UTF8UpperCase/UTF8LowerCase will fail
on win9x systems (which makes many Lazarus LCL controls that
handle strings behave wrong).
You can use this unit in your uses clause independent of yout target OS.
No code will be linked in if yout target is not Windows.
On true Unicode Windows (WinCE, WinNT-based) no additional libraries
will be linked in (see: InitWin9xWSManager).
Currently only LowerWideStringProc and UpperWideStringProc are
replaced on win9x.
Possibly other functions might need replacin too.
***********************************************************************}
{$mode objfpc}{$H+}
interface
{$IFDEF WINDOWS}
{ $define DEBUG_WIN9X_WSMANAGER}
uses
Windows, SysUtils;
{$endif WINDOWS}
implementation
{$ifdef WINDOWS}
type
TShlwapiFunc = function(lpsz: LPWSTR; ccLength: DWORD): DWORD; stdcall;
var
CharUpperBuffWrapW: TShlwapifunc = nil;
CharLowerBuffWrapW: TShlwapifunc = nil;
ShlwapiHandle: THandle = 0;
SavedUnicodeStringManager: TUnicodeStringManager;
// Win9x**Simple functions do essentially Upper/LowerCase on
// lower ASCII characters in the string
function Win9xWideUpperSimple(const S: WideString): WideString;
const
diff = Ord('a') - Ord('A');
var
W: WideChar;
i: Integer;
begin
Result := S;
for i := 1 to length(Result) do
begin
W := Result[i];
if (Ord(W) in [Ord(Char('a'))..Ord(Char('z'))]) then
begin
Word(W) := Word(W) - diff;
Result[i] := W;
end;
end;
end;
function Win9xWideLowerSimple(const S: WideString): WideString;
const
diff = Ord('a') - Ord('A');
var
W: WideChar;
i: Integer;
begin
Result := S;
for i := 1 to length(Result) do
begin
W := Result[i];
if (Ord(W) in [Ord(Char('A'))..Ord(Char('Z'))]) then
begin
Word(W) := Word(W) + diff;
Result[i] := W;
end;
end;
end;
function Win9xWideUpper(const S: WideString): WideString;
begin
Result := S;
CharUpperBuffWrapW(PWChar(Result), Length(Result));
end;
function Win9xWideLower(const S: WideString): WideString;
begin
Result := S;
CharLowerBuffWrapW(PWChar(Result), Length(Result));
end;
procedure FreeDll;
begin
{$ifdef DEBUG_WIN9X_WSMANAGER}
if IsConsole then writeln('FreeDLL');
{$endif}
if ShlwapiHandle <> 0 then
begin
FreeLibrary(ShlwapiHandle);
ShlwapiHandle := 0;
end;
end;
procedure InitDll;
var
PU,PL: Pointer;
begin
ShlwapiHandle := LoadLibrary('shlwapi.dll');
if (ShlwapiHandle <> 0) then
begin
//shlwapi functions cannot be loaded by name, only by index!
PU := GetProcAddress(ShlwapiHandle,PChar(44));
if (PU <> nil) then CharUpperBuffWrapW := TShlwapiFunc(PU);
PL := GetProcAddress(ShlwapiHandle,PChar(39));
if (PL <> nil) then CharLowerBuffWrapW := TShlwapiFunc(PL);
{$ifdef DEBUG_WIN9X_WSMANAGER}
{$PUSH}{$HINTS OFF} //suppress hints on Pointer to PtrUInt tyecasting
if IsConsole then
begin
writeln('Successfully loaded shlwapi.dll');
if (PU <> nil) then
writeln('Assigning CharUpperBuffWrapW @: ',HexStr(PtrUInt(PU),2*sizeof(PtrInt)))
else
writeln('Unable to load CharUpperBuffWrapW');
if (PL <> nil) then
writeln('Assigning CharLowerBuffWrapW @: ',HexStr(PtrUInt(PL),2*sizeof(PtrInt)))
else
writeln('Unable to load CharLowerBuffWrapW');
end;
{$POP}
{$endif DEBUG_WIN9X_WSMANAGER}
if (PU = nil) and (PL = nil) then
begin
FreeDLL;
end;
end
else
begin
{$ifdef DEBUG_WIN9X_WSMANAGER}
writeln('Unable to load shlwapi.dll');
{$endif}
end;
end;
procedure InitWin9xWSManager;
var
WS: WideString;
begin
SavedUnicodeStringManager := WideStringManager;
WS := 'abc';
if WideUpperCase(WS) <> 'ABC' then
begin
InitDLL;
if Assigned(CharUpperBuffWrapW) then
begin
WideStringManager.UpperWideStringProc := @Win9xWideUpper;
WS := 'abc';
if WideUpperCase(WS) <> 'ABC' then WideStringManager.UpperWideStringProc := @Win9xWideUpperSimple;
end
else
begin
WideStringManager.UpperWideStringProc := @Win9xWideUpperSimple;
end;
if Assigned(CharLowerBuffWrapW) then
begin
WideStringmanager.LowerWideStringProc := @Win9xWideLower;
WS := 'ABC';
if WideLowerCase(WS) <> 'abc' then WideStringManager.LowerWideStringProc := @Win9xWideLowerSimple;
end
else
begin
WideStringManager.LowerWideStringProc := @Win9xWideLowerSimple;
end;
end;
end;
initialization
InitWin9xWSManager;
finalization
WideStringManager := SavedUnicodeStringManager;
if (ShlwapiHandle <> 0) then FreeDll;
{$endif}
end.