mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 16:09:25 +02:00
* Initial CHM support for textmode IDE.
git-svn-id: trunk@11885 -
This commit is contained in:
parent
d6c5cacd80
commit
a091b51e31
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -708,6 +708,7 @@ ide/unit.pt -text
|
|||||||
ide/vesa.pas svneol=native#text/plain
|
ide/vesa.pas svneol=native#text/plain
|
||||||
ide/wansi.pas svneol=native#text/plain
|
ide/wansi.pas svneol=native#text/plain
|
||||||
ide/wcedit.pas svneol=native#text/plain
|
ide/wcedit.pas svneol=native#text/plain
|
||||||
|
ide/wchmhwrap.pas svneol=native#text/plain
|
||||||
ide/wconsole.pas svneol=native#text/plain
|
ide/wconsole.pas svneol=native#text/plain
|
||||||
ide/wconsts.pas svneol=native#text/plain
|
ide/wconsts.pas svneol=native#text/plain
|
||||||
ide/wconstse.inc svneol=native#text/plain
|
ide/wconstse.inc svneol=native#text/plain
|
||||||
|
316
ide/Makefile
316
ide/Makefile
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/08/19]
|
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/10/12]
|
||||||
#
|
#
|
||||||
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 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-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
|
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 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-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
|
||||||
@ -115,6 +115,10 @@ FPC:=$(shell $(FPCPROG) -PB)
|
|||||||
endif
|
endif
|
||||||
ifneq ($(findstring Error,$(FPC)),)
|
ifneq ($(findstring Error,$(FPC)),)
|
||||||
override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
|
override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
|
||||||
|
else
|
||||||
|
ifeq ($(strip $(wildcard $(FPC))),)
|
||||||
|
FPC:=$(firstword $(FPCPROG))
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
|
override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
|
||||||
@ -1602,18 +1606,24 @@ else
|
|||||||
TAROPT=vz
|
TAROPT=vz
|
||||||
TAREXT=.tar.gz
|
TAREXT=.tar.gz
|
||||||
endif
|
endif
|
||||||
override REQUIRE_PACKAGES=rtl fv gdbint regexpr
|
override REQUIRE_PACKAGES=rtl fv gdbint regexpr chm
|
||||||
ifeq ($(FULL_TARGET),i386-linux)
|
ifeq ($(FULL_TARGET),i386-linux)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-go32v2)
|
ifeq ($(FULL_TARGET),i386-go32v2)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
REQUIRE_PACKAGES_GRAPH=1
|
REQUIRE_PACKAGES_GRAPH=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-win32)
|
ifeq ($(FULL_TARGET),i386-win32)
|
||||||
@ -1621,336 +1631,508 @@ REQUIRE_PACKAGES_RTL=1
|
|||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_WINUNITS-BASE=1
|
||||||
|
REQUIRE_PACKAGES_WINUNITS-JEDI=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-os2)
|
ifeq ($(FULL_TARGET),i386-os2)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-freebsd)
|
ifeq ($(FULL_TARGET),i386-freebsd)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-beos)
|
ifeq ($(FULL_TARGET),i386-beos)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-haiku)
|
ifeq ($(FULL_TARGET),i386-haiku)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-netbsd)
|
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-solaris)
|
ifeq ($(FULL_TARGET),i386-solaris)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-qnx)
|
ifeq ($(FULL_TARGET),i386-qnx)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-netware)
|
ifeq ($(FULL_TARGET),i386-netware)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-openbsd)
|
ifeq ($(FULL_TARGET),i386-openbsd)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-wdosx)
|
ifeq ($(FULL_TARGET),i386-wdosx)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-darwin)
|
ifeq ($(FULL_TARGET),i386-darwin)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-emx)
|
ifeq ($(FULL_TARGET),i386-emx)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-watcom)
|
ifeq ($(FULL_TARGET),i386-watcom)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-netwlibc)
|
ifeq ($(FULL_TARGET),i386-netwlibc)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-wince)
|
ifeq ($(FULL_TARGET),i386-wince)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-embedded)
|
ifeq ($(FULL_TARGET),i386-embedded)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),i386-symbian)
|
ifeq ($(FULL_TARGET),i386-symbian)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),m68k-linux)
|
ifeq ($(FULL_TARGET),m68k-linux)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),m68k-freebsd)
|
ifeq ($(FULL_TARGET),m68k-freebsd)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),m68k-netbsd)
|
ifeq ($(FULL_TARGET),m68k-netbsd)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),m68k-amiga)
|
ifeq ($(FULL_TARGET),m68k-amiga)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),m68k-atari)
|
ifeq ($(FULL_TARGET),m68k-atari)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),m68k-openbsd)
|
ifeq ($(FULL_TARGET),m68k-openbsd)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),m68k-palmos)
|
ifeq ($(FULL_TARGET),m68k-palmos)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),m68k-embedded)
|
ifeq ($(FULL_TARGET),m68k-embedded)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc-linux)
|
ifeq ($(FULL_TARGET),powerpc-linux)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc-amiga)
|
ifeq ($(FULL_TARGET),powerpc-amiga)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc-macos)
|
ifeq ($(FULL_TARGET),powerpc-macos)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc-darwin)
|
ifeq ($(FULL_TARGET),powerpc-darwin)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc-morphos)
|
ifeq ($(FULL_TARGET),powerpc-morphos)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc-embedded)
|
ifeq ($(FULL_TARGET),powerpc-embedded)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),sparc-linux)
|
ifeq ($(FULL_TARGET),sparc-linux)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),sparc-netbsd)
|
ifeq ($(FULL_TARGET),sparc-netbsd)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),sparc-solaris)
|
ifeq ($(FULL_TARGET),sparc-solaris)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),sparc-embedded)
|
ifeq ($(FULL_TARGET),sparc-embedded)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),x86_64-linux)
|
ifeq ($(FULL_TARGET),x86_64-linux)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),x86_64-darwin)
|
ifeq ($(FULL_TARGET),x86_64-darwin)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),x86_64-win64)
|
ifeq ($(FULL_TARGET),x86_64-win64)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_WINUNITS-BASE=1
|
||||||
|
REQUIRE_PACKAGES_WINUNITS-JEDI=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),x86_64-embedded)
|
ifeq ($(FULL_TARGET),x86_64-embedded)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),arm-linux)
|
ifeq ($(FULL_TARGET),arm-linux)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),arm-palmos)
|
ifeq ($(FULL_TARGET),arm-palmos)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),arm-darwin)
|
ifeq ($(FULL_TARGET),arm-darwin)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),arm-wince)
|
ifeq ($(FULL_TARGET),arm-wince)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),arm-gba)
|
ifeq ($(FULL_TARGET),arm-gba)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),arm-nds)
|
ifeq ($(FULL_TARGET),arm-nds)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),arm-embedded)
|
ifeq ($(FULL_TARGET),arm-embedded)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),arm-symbian)
|
ifeq ($(FULL_TARGET),arm-symbian)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc64-linux)
|
ifeq ($(FULL_TARGET),powerpc64-linux)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc64-darwin)
|
ifeq ($(FULL_TARGET),powerpc64-darwin)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),powerpc64-embedded)
|
ifeq ($(FULL_TARGET),powerpc64-embedded)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),avr-embedded)
|
ifeq ($(FULL_TARGET),avr-embedded)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),armeb-linux)
|
ifeq ($(FULL_TARGET),armeb-linux)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(FULL_TARGET),armeb-embedded)
|
ifeq ($(FULL_TARGET),armeb-embedded)
|
||||||
REQUIRE_PACKAGES_RTL=1
|
REQUIRE_PACKAGES_RTL=1
|
||||||
REQUIRE_PACKAGES_FV=1
|
REQUIRE_PACKAGES_FV=1
|
||||||
REQUIRE_PACKAGES_GDBINT=1
|
REQUIRE_PACKAGES_GDBINT=1
|
||||||
REQUIRE_PACKAGES_REGEXPR=1
|
REQUIRE_PACKAGES_REGEXPR=1
|
||||||
|
REQUIRE_PACKAGES_FCL-BASE=1
|
||||||
|
REQUIRE_PACKAGES_FCL-XML=1
|
||||||
|
REQUIRE_PACKAGES_CHM=1
|
||||||
endif
|
endif
|
||||||
ifdef REQUIRE_PACKAGES_RTL
|
ifdef REQUIRE_PACKAGES_RTL
|
||||||
PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
|
PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
|
||||||
@ -2056,6 +2238,84 @@ ifdef UNITDIR_REGEXPR
|
|||||||
override COMPILER_UNITDIR+=$(UNITDIR_REGEXPR)
|
override COMPILER_UNITDIR+=$(UNITDIR_REGEXPR)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
ifdef REQUIRE_PACKAGES_FCL-BASE
|
||||||
|
PACKAGEDIR_FCL-BASE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-base/Makefile.fpc,$(PACKAGESDIR))))))
|
||||||
|
ifneq ($(PACKAGEDIR_FCL-BASE),)
|
||||||
|
ifneq ($(wildcard $(PACKAGEDIR_FCL-BASE)/units/$(TARGETSUFFIX)),)
|
||||||
|
UNITDIR_FCL-BASE=$(PACKAGEDIR_FCL-BASE)/units/$(TARGETSUFFIX)
|
||||||
|
else
|
||||||
|
UNITDIR_FCL-BASE=$(PACKAGEDIR_FCL-BASE)
|
||||||
|
endif
|
||||||
|
ifdef CHECKDEPEND
|
||||||
|
$(PACKAGEDIR_FCL-BASE)/$(FPCMADE):
|
||||||
|
$(MAKE) -C $(PACKAGEDIR_FCL-BASE) $(FPCMADE)
|
||||||
|
override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-BASE)/$(FPCMADE)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
PACKAGEDIR_FCL-BASE=
|
||||||
|
UNITDIR_FCL-BASE:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-base/Package.fpc,$(UNITSDIR)))))
|
||||||
|
ifneq ($(UNITDIR_FCL-BASE),)
|
||||||
|
UNITDIR_FCL-BASE:=$(firstword $(UNITDIR_FCL-BASE))
|
||||||
|
else
|
||||||
|
UNITDIR_FCL-BASE=
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifdef UNITDIR_FCL-BASE
|
||||||
|
override COMPILER_UNITDIR+=$(UNITDIR_FCL-BASE)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifdef REQUIRE_PACKAGES_FCL-XML
|
||||||
|
PACKAGEDIR_FCL-XML:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-xml/Makefile.fpc,$(PACKAGESDIR))))))
|
||||||
|
ifneq ($(PACKAGEDIR_FCL-XML),)
|
||||||
|
ifneq ($(wildcard $(PACKAGEDIR_FCL-XML)/units/$(TARGETSUFFIX)),)
|
||||||
|
UNITDIR_FCL-XML=$(PACKAGEDIR_FCL-XML)/units/$(TARGETSUFFIX)
|
||||||
|
else
|
||||||
|
UNITDIR_FCL-XML=$(PACKAGEDIR_FCL-XML)
|
||||||
|
endif
|
||||||
|
ifdef CHECKDEPEND
|
||||||
|
$(PACKAGEDIR_FCL-XML)/$(FPCMADE):
|
||||||
|
$(MAKE) -C $(PACKAGEDIR_FCL-XML) $(FPCMADE)
|
||||||
|
override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-XML)/$(FPCMADE)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
PACKAGEDIR_FCL-XML=
|
||||||
|
UNITDIR_FCL-XML:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-xml/Package.fpc,$(UNITSDIR)))))
|
||||||
|
ifneq ($(UNITDIR_FCL-XML),)
|
||||||
|
UNITDIR_FCL-XML:=$(firstword $(UNITDIR_FCL-XML))
|
||||||
|
else
|
||||||
|
UNITDIR_FCL-XML=
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifdef UNITDIR_FCL-XML
|
||||||
|
override COMPILER_UNITDIR+=$(UNITDIR_FCL-XML)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifdef REQUIRE_PACKAGES_CHM
|
||||||
|
PACKAGEDIR_CHM:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /chm/Makefile.fpc,$(PACKAGESDIR))))))
|
||||||
|
ifneq ($(PACKAGEDIR_CHM),)
|
||||||
|
ifneq ($(wildcard $(PACKAGEDIR_CHM)/units/$(TARGETSUFFIX)),)
|
||||||
|
UNITDIR_CHM=$(PACKAGEDIR_CHM)/units/$(TARGETSUFFIX)
|
||||||
|
else
|
||||||
|
UNITDIR_CHM=$(PACKAGEDIR_CHM)
|
||||||
|
endif
|
||||||
|
ifdef CHECKDEPEND
|
||||||
|
$(PACKAGEDIR_CHM)/$(FPCMADE):
|
||||||
|
$(MAKE) -C $(PACKAGEDIR_CHM) $(FPCMADE)
|
||||||
|
override ALLDEPENDENCIES+=$(PACKAGEDIR_CHM)/$(FPCMADE)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
PACKAGEDIR_CHM=
|
||||||
|
UNITDIR_CHM:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /chm/Package.fpc,$(UNITSDIR)))))
|
||||||
|
ifneq ($(UNITDIR_CHM),)
|
||||||
|
UNITDIR_CHM:=$(firstword $(UNITDIR_CHM))
|
||||||
|
else
|
||||||
|
UNITDIR_CHM=
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifdef UNITDIR_CHM
|
||||||
|
override COMPILER_UNITDIR+=$(UNITDIR_CHM)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
ifdef REQUIRE_PACKAGES_GRAPH
|
ifdef REQUIRE_PACKAGES_GRAPH
|
||||||
PACKAGEDIR_GRAPH:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /graph/Makefile.fpc,$(PACKAGESDIR))))))
|
PACKAGEDIR_GRAPH:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /graph/Makefile.fpc,$(PACKAGESDIR))))))
|
||||||
ifneq ($(PACKAGEDIR_GRAPH),)
|
ifneq ($(PACKAGEDIR_GRAPH),)
|
||||||
@ -2082,6 +2342,58 @@ ifdef UNITDIR_GRAPH
|
|||||||
override COMPILER_UNITDIR+=$(UNITDIR_GRAPH)
|
override COMPILER_UNITDIR+=$(UNITDIR_GRAPH)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
ifdef REQUIRE_PACKAGES_WINUNITS-BASE
|
||||||
|
PACKAGEDIR_WINUNITS-BASE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /winunits-base/Makefile.fpc,$(PACKAGESDIR))))))
|
||||||
|
ifneq ($(PACKAGEDIR_WINUNITS-BASE),)
|
||||||
|
ifneq ($(wildcard $(PACKAGEDIR_WINUNITS-BASE)/units/$(TARGETSUFFIX)),)
|
||||||
|
UNITDIR_WINUNITS-BASE=$(PACKAGEDIR_WINUNITS-BASE)/units/$(TARGETSUFFIX)
|
||||||
|
else
|
||||||
|
UNITDIR_WINUNITS-BASE=$(PACKAGEDIR_WINUNITS-BASE)
|
||||||
|
endif
|
||||||
|
ifdef CHECKDEPEND
|
||||||
|
$(PACKAGEDIR_WINUNITS-BASE)/$(FPCMADE):
|
||||||
|
$(MAKE) -C $(PACKAGEDIR_WINUNITS-BASE) $(FPCMADE)
|
||||||
|
override ALLDEPENDENCIES+=$(PACKAGEDIR_WINUNITS-BASE)/$(FPCMADE)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
PACKAGEDIR_WINUNITS-BASE=
|
||||||
|
UNITDIR_WINUNITS-BASE:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /winunits-base/Package.fpc,$(UNITSDIR)))))
|
||||||
|
ifneq ($(UNITDIR_WINUNITS-BASE),)
|
||||||
|
UNITDIR_WINUNITS-BASE:=$(firstword $(UNITDIR_WINUNITS-BASE))
|
||||||
|
else
|
||||||
|
UNITDIR_WINUNITS-BASE=
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifdef UNITDIR_WINUNITS-BASE
|
||||||
|
override COMPILER_UNITDIR+=$(UNITDIR_WINUNITS-BASE)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifdef REQUIRE_PACKAGES_WINUNITS-JEDI
|
||||||
|
PACKAGEDIR_WINUNITS-JEDI:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /winunits-jedi/Makefile.fpc,$(PACKAGESDIR))))))
|
||||||
|
ifneq ($(PACKAGEDIR_WINUNITS-JEDI),)
|
||||||
|
ifneq ($(wildcard $(PACKAGEDIR_WINUNITS-JEDI)/units/$(TARGETSUFFIX)),)
|
||||||
|
UNITDIR_WINUNITS-JEDI=$(PACKAGEDIR_WINUNITS-JEDI)/units/$(TARGETSUFFIX)
|
||||||
|
else
|
||||||
|
UNITDIR_WINUNITS-JEDI=$(PACKAGEDIR_WINUNITS-JEDI)
|
||||||
|
endif
|
||||||
|
ifdef CHECKDEPEND
|
||||||
|
$(PACKAGEDIR_WINUNITS-JEDI)/$(FPCMADE):
|
||||||
|
$(MAKE) -C $(PACKAGEDIR_WINUNITS-JEDI) $(FPCMADE)
|
||||||
|
override ALLDEPENDENCIES+=$(PACKAGEDIR_WINUNITS-JEDI)/$(FPCMADE)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
PACKAGEDIR_WINUNITS-JEDI=
|
||||||
|
UNITDIR_WINUNITS-JEDI:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /winunits-jedi/Package.fpc,$(UNITSDIR)))))
|
||||||
|
ifneq ($(UNITDIR_WINUNITS-JEDI),)
|
||||||
|
UNITDIR_WINUNITS-JEDI:=$(firstword $(UNITDIR_WINUNITS-JEDI))
|
||||||
|
else
|
||||||
|
UNITDIR_WINUNITS-JEDI=
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifdef UNITDIR_WINUNITS-JEDI
|
||||||
|
override COMPILER_UNITDIR+=$(UNITDIR_WINUNITS-JEDI)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
ifndef NOCPUDEF
|
ifndef NOCPUDEF
|
||||||
override FPCOPTDEF=$(ARCH)
|
override FPCOPTDEF=$(ARCH)
|
||||||
endif
|
endif
|
||||||
|
@ -21,7 +21,7 @@ fpcpackage=y
|
|||||||
options=-Sg
|
options=-Sg
|
||||||
|
|
||||||
[require]
|
[require]
|
||||||
packages=fv gdbint regexpr
|
packages=fv gdbint regexpr chm
|
||||||
packages_go32v2=graph
|
packages_go32v2=graph
|
||||||
libc=y
|
libc=y
|
||||||
|
|
||||||
|
186
ide/wchmhwrap.pas
Normal file
186
ide/wchmhwrap.pas
Normal file
@ -0,0 +1,186 @@
|
|||||||
|
{
|
||||||
|
This file is part of the Free Pascal Integrated Development Environment
|
||||||
|
Copyright (c) 2008 by Marco van de Voort
|
||||||
|
|
||||||
|
Wrapper for CHM reading to avoid having to import Delphi units into whtmlhlp,
|
||||||
|
which can cause all kinds of namespace conflicts.
|
||||||
|
|
||||||
|
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 wchmhwrap;
|
||||||
|
|
||||||
|
interface
|
||||||
|
{$Mode Delphi}
|
||||||
|
|
||||||
|
Uses wutils,whelp,whtml,SysUtils,ChmReader,ChmSiteMap,Classes;
|
||||||
|
|
||||||
|
Type
|
||||||
|
// TopicLinks: PTopicLinkCollection;IndexEntries : PUnsortedIndexEntryCollection;
|
||||||
|
|
||||||
|
TChmWrapper = Class
|
||||||
|
private
|
||||||
|
ffs : Classes.TFileStream;
|
||||||
|
fchmr : TChmReader;
|
||||||
|
findex: TChmSiteMap;
|
||||||
|
ftopic: TChmSiteMap;
|
||||||
|
floaded : boolean;
|
||||||
|
public
|
||||||
|
constructor Create(name:String);
|
||||||
|
function LoadIndex(id:integer;TopicLinks: PTopicLinkCollection;IndexEntries : PUnsortedIndexEntryCollection;helpfacility:PHelpFacility):boolean;
|
||||||
|
function GetTopic(name:string):PMemoryTextFile;
|
||||||
|
destructor Destroy;override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function combinepaths(relpath,basepath:String):String;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
function combinepaths(relpath,basepath:String):String;
|
||||||
|
|
||||||
|
begin
|
||||||
|
{$ifdef combinedebug}
|
||||||
|
debugmessage({$i %file%},'combine in "'+relpath+'" and "'+basepath+'"'+{$i %line%},1,1);
|
||||||
|
{$endif}
|
||||||
|
|
||||||
|
if relpath='' then exit;
|
||||||
|
if relpath[length(relpath)]<>'/' Then
|
||||||
|
basepath:=extractfiledir(basepath);
|
||||||
|
while (length(relpath)>0) and (copy(relpath,1,3)='../') do
|
||||||
|
begin
|
||||||
|
basepath:=extractfiledir(basepath);
|
||||||
|
delete(relpath,1,3);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{$ifdef combinedebug}
|
||||||
|
debugmessage({$i %file%},'combine out "'+relpath+'" and "'+basepath+'"'+{$i %line%},1,1);
|
||||||
|
{$endif}
|
||||||
|
|
||||||
|
result:=basepath+relpath;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Constructor TChmWrapper.Create(name:string);
|
||||||
|
|
||||||
|
begin
|
||||||
|
ffs:=Classes.TFileStream.create(name,fmOpenRead);
|
||||||
|
fchmr:=TChmReader.Create(ffs,True);
|
||||||
|
findex:=nil;
|
||||||
|
if not fchmr.isvalidfile then
|
||||||
|
begin
|
||||||
|
freeandnil(fchmr);
|
||||||
|
freeandnil(ffs);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
{$ifdef wdebug}
|
||||||
|
debugmessage({$i %file%},'TCHMWrapper: before sitemap creation '+{$i %line%},1,1);
|
||||||
|
{$endif}
|
||||||
|
findex:=TChmSiteMap.create(stindex);
|
||||||
|
ftopic:=TChmSiteMap.create(sttoc);
|
||||||
|
{$ifdef wdebug}
|
||||||
|
debugmessage({$i %file%},'TCHMWrapper: after sitemap creation '+{$i %line%}+inttostr(ptrint(findex)),1,1);
|
||||||
|
{$endif}
|
||||||
|
floaded:=false;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TChmWrapper.LoadIndex(id:integer;TopicLinks: PTopicLinkCollection;IndexEntries : PUnsortedIndexEntryCollection;helpfacility:PHelpFacility):boolean;
|
||||||
|
function FormatAlias(Alias: string): string;
|
||||||
|
begin
|
||||||
|
if Assigned(HelpFacility) then
|
||||||
|
if length(Alias)>HelpFacility^.IndexTabSize-4 then
|
||||||
|
Alias:=Trim(copy(Alias,1,HelpFacility^.IndexTabSize-4-2))+'..';
|
||||||
|
// if (length(alias)>0) and (alias[1]<>'/') then Alias:='/'+alias;
|
||||||
|
FormatAlias:=Alias;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
m : Classes.TMemoryStream;
|
||||||
|
i,j : integer;
|
||||||
|
item : TChmSiteMapItem;
|
||||||
|
tli: integer;
|
||||||
|
begin
|
||||||
|
result:=false;
|
||||||
|
if not assigned (fchmr) then exit;
|
||||||
|
if floaded then exit;
|
||||||
|
// m:=Classes.TMemorystream.create;
|
||||||
|
m:=fchmr.getobject(fchmr.indexfile);
|
||||||
|
try
|
||||||
|
{$ifdef wdebug}
|
||||||
|
debugmessage({$i %file%},'TCHMWrapper: before loadfromstream '+{$i %line%},1,1);
|
||||||
|
debugmessage({$i %file%},'TCHMWrapper: stream size loaded'+inttostr(m.size),1,1);
|
||||||
|
{$endif}
|
||||||
|
findex.loadfromStream(m);
|
||||||
|
finally
|
||||||
|
freeandnil(m);
|
||||||
|
end;
|
||||||
|
{$ifdef wdebug}
|
||||||
|
debugmessage({$i %file%},'TCHMWrapper: loadindex after final '+{$i %line%},1,1);
|
||||||
|
{$endif}
|
||||||
|
|
||||||
|
tli:=TopicLinks^.AddItem(fchmr.defaultpage);
|
||||||
|
TLI:=EncodeHTMLCtx(ID,TLI+1);
|
||||||
|
IndexEntries^.Insert(NewIndexEntry( FormatAlias('Table of contents'),ID,TLI));
|
||||||
|
for i:=0 to findex.items.count-1 do
|
||||||
|
begin
|
||||||
|
item:=findex.items.item[i];
|
||||||
|
tli:=TopicLinks^.AddItem('/'+item.local);
|
||||||
|
TLI:=EncodeHTMLCtx(ID,TLI+1);
|
||||||
|
IndexEntries^.Insert(NewIndexEntry( FormatAlias(item.text),ID,TLI));
|
||||||
|
end;
|
||||||
|
{$ifdef wdebug}
|
||||||
|
debugmessage({$i %file%},'TCHMWrapper: endloadindex '+{$i %line%},1,1);
|
||||||
|
{$endif}
|
||||||
|
floaded:=true;
|
||||||
|
result:=true;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TChmWrapper.GetTopic(name:string):PMemoryTextFile;
|
||||||
|
|
||||||
|
var
|
||||||
|
m : Classes.TMemorystream;
|
||||||
|
linedata:Classes.TStringList;
|
||||||
|
i : integer;
|
||||||
|
begin
|
||||||
|
result:=nil;
|
||||||
|
if not assigned(fchmr) or (name='') then exit;
|
||||||
|
|
||||||
|
If name[1]<>'/' Then
|
||||||
|
name:='/'+name;
|
||||||
|
linedata:=Classes.TStringList.create;
|
||||||
|
try
|
||||||
|
{$ifdef wdebug}
|
||||||
|
debugmessage({$i %file%},'TCHMWrapper: Getting file '+name+' '+{$i %line%},1,1);
|
||||||
|
{$endif}
|
||||||
|
// if uppercase(name)='TABLE OF CONTENTS' Then
|
||||||
|
// m:=fchmr.getobject(fchmr.tocfile)
|
||||||
|
// else
|
||||||
|
m:=fchmr.getobject(name);
|
||||||
|
|
||||||
|
if not assigned(m) then exit;
|
||||||
|
linedata.loadfromstream(m);
|
||||||
|
result:=new(PMemoryTextFile,Init);
|
||||||
|
for i:=0 to linedata.count-1 do
|
||||||
|
result.addline(linedata[i]);
|
||||||
|
finally
|
||||||
|
m.free;
|
||||||
|
linedata.free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
destructor TChmWrapper.Destroy;
|
||||||
|
|
||||||
|
begin
|
||||||
|
freeandnil(ftopic);
|
||||||
|
freeandnil(findex);
|
||||||
|
freeandnil(fchmr);
|
||||||
|
end;
|
||||||
|
// m:=r.getobject(r.indexfile);
|
||||||
|
// siteindex.loadfromStream(m);
|
||||||
|
|
||||||
|
end.
|
@ -115,6 +115,18 @@ type
|
|||||||
procedure DocHorizontalRuler; virtual;
|
procedure DocHorizontalRuler; virtual;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Type
|
||||||
|
PTopicLinkCollection = ^TTopicLinkCollection;
|
||||||
|
TTopicLinkCollection = object(TStringCollection)
|
||||||
|
procedure Insert(Item: Pointer); virtual;
|
||||||
|
function At(Index: sw_Integer): PString;
|
||||||
|
function AddItem(Item: string): integer;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function EncodeHTMLCtx(FileID: integer; LinkNo: word): longint;
|
||||||
|
procedure DecodeHTMLCtx(Ctx: longint; var FileID: word; var LinkNo: word);
|
||||||
|
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
@ -859,6 +871,47 @@ procedure THTMLParser.DocHorizontalRuler;
|
|||||||
begin
|
begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function EncodeHTMLCtx(FileID: integer; LinkNo: word): longint;
|
||||||
|
var Ctx: longint;
|
||||||
|
begin
|
||||||
|
Ctx:=(longint(FileID) shl 16)+LinkNo;
|
||||||
|
EncodeHTMLCtx:=Ctx;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure DecodeHTMLCtx(Ctx: longint; var FileID: word; var LinkNo: word);
|
||||||
|
begin
|
||||||
|
if (Ctx shr 16)=0 then
|
||||||
|
begin
|
||||||
|
FileID:=$ffff; LinkNo:=0;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
FileID:=Ctx shr 16; LinkNo:=Ctx and $ffff;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TTopicLinkCollection.Insert(Item: Pointer);
|
||||||
|
begin
|
||||||
|
AtInsert(Count,Item);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TTopicLinkCollection.At(Index: sw_Integer): PString;
|
||||||
|
begin
|
||||||
|
At:=inherited At(Index);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TTopicLinkCollection.AddItem(Item: string): integer;
|
||||||
|
var Idx: sw_integer;
|
||||||
|
begin
|
||||||
|
if Item='' then Idx:=-1 else
|
||||||
|
if Search(@Item,Idx)=false then
|
||||||
|
begin
|
||||||
|
AtInsert(Count,NewStr(Item));
|
||||||
|
Idx:=Count-1;
|
||||||
|
end;
|
||||||
|
AddItem:=Idx;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
END.
|
END.
|
||||||
|
382
ide/whtmlhlp.pas
382
ide/whtmlhlp.pas
@ -14,11 +14,12 @@ unit WHTMLHlp;
|
|||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
uses Objects,WHTML,WAnsi,WHelp;
|
uses Objects,WHTML,WAnsi,WHelp,WChmHWrap;
|
||||||
|
|
||||||
const
|
const
|
||||||
extHTML = '.htm';
|
extHTML = '.htm';
|
||||||
extHTMLIndex = '.htx';
|
extHTMLIndex = '.htx';
|
||||||
|
extCHM = '.chm';
|
||||||
|
|
||||||
ListIndent = 2;
|
ListIndent = 2;
|
||||||
DefIndent = 4;
|
DefIndent = 4;
|
||||||
@ -28,13 +29,6 @@ const
|
|||||||
type
|
type
|
||||||
THTMLSection = (hsNone,hsHeading1,hsHeading2,hsHeading3,hsHeading4,hsHeading5,hsHeading6);
|
THTMLSection = (hsNone,hsHeading1,hsHeading2,hsHeading3,hsHeading4,hsHeading5,hsHeading6);
|
||||||
|
|
||||||
PTopicLinkCollection = ^TTopicLinkCollection;
|
|
||||||
TTopicLinkCollection = object(TStringCollection)
|
|
||||||
procedure Insert(Item: Pointer); virtual;
|
|
||||||
function At(Index: sw_Integer): PString;
|
|
||||||
function AddItem(Item: string): integer;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TParagraphAlign = (paLeft,paCenter,paRight);
|
TParagraphAlign = (paLeft,paCenter,paRight);
|
||||||
|
|
||||||
PTableElement = ^TTableElement;
|
PTableElement = ^TTableElement;
|
||||||
@ -116,6 +110,7 @@ type
|
|||||||
procedure DocTableHeaderItem(Entered: boolean); virtual;
|
procedure DocTableHeaderItem(Entered: boolean); virtual;
|
||||||
procedure DocTableItem(Entered: boolean); virtual;
|
procedure DocTableItem(Entered: boolean); virtual;
|
||||||
procedure DocHorizontalRuler; virtual;
|
procedure DocHorizontalRuler; virtual;
|
||||||
|
function CanonicalizeURL(const Base,Relative:String):string; virtual;
|
||||||
public
|
public
|
||||||
function GetSectionColor(Section: THTMLSection; var Color: byte): boolean; virtual;
|
function GetSectionColor(Section: THTMLSection; var Color: byte): boolean; virtual;
|
||||||
private
|
private
|
||||||
@ -148,24 +143,28 @@ type
|
|||||||
procedure AddCharAt(C: char;AtPtr : sw_word);
|
procedure AddCharAt(C: char;AtPtr : sw_word);
|
||||||
function AddTextAt(const S: string;AtPtr : sw_word) : sw_word;
|
function AddTextAt(const S: string;AtPtr : sw_word) : sw_word;
|
||||||
function ComputeTextLength(TStart,TEnd : sw_word) : sw_word;
|
function ComputeTextLength(TStart,TEnd : sw_word) : sw_word;
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
PCHMTopicRenderer = ^TCHMTopicRenderer;
|
||||||
|
TCHMTopicRenderer = object(THTMLTopicRenderer)
|
||||||
|
function CanonicalizeURL(const Base,Relative:String):string; virtual;
|
||||||
|
end;
|
||||||
|
|
||||||
PCustomHTMLHelpFile = ^TCustomHTMLHelpFile;
|
PCustomHTMLHelpFile = ^TCustomHTMLHelpFile;
|
||||||
TCustomHTMLHelpFile = object(THelpFile)
|
TCustomHTMLHelpFile = object(THelpFile)
|
||||||
constructor Init(AID: word);
|
constructor Init(AID: word);
|
||||||
destructor Done; virtual;
|
destructor Done; virtual;
|
||||||
public
|
public
|
||||||
|
Renderer: PHTMLTopicRenderer;
|
||||||
function GetTopicInfo(T: PTopic) : string; virtual;
|
function GetTopicInfo(T: PTopic) : string; virtual;
|
||||||
function SearchTopic(HelpCtx: THelpCtx): PTopic; virtual;
|
function SearchTopic(HelpCtx: THelpCtx): PTopic; virtual;
|
||||||
function ReadTopic(T: PTopic): boolean; virtual;
|
function ReadTopic(T: PTopic): boolean; virtual;
|
||||||
private
|
private
|
||||||
Renderer: PHTMLTopicRenderer;
|
|
||||||
DefaultFileName: string;
|
DefaultFileName: string;
|
||||||
CurFileName: string;
|
CurFileName: string;
|
||||||
TopicLinks: PTopicLinkCollection;
|
TopicLinks: PTopicLinkCollection;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
PHTMLHelpFile = ^THTMLHelpFile;
|
PHTMLHelpFile = ^THTMLHelpFile;
|
||||||
THTMLHelpFile = object(TCustomHTMLHelpFile)
|
THTMLHelpFile = object(TCustomHTMLHelpFile)
|
||||||
constructor Init(AFileName: string; AID: word; ATOCEntry: string);
|
constructor Init(AFileName: string; AID: word; ATOCEntry: string);
|
||||||
@ -175,6 +174,19 @@ type
|
|||||||
TOCEntry: string;
|
TOCEntry: string;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
PCHMHelpFile = ^TCHMHelpFile;
|
||||||
|
TCHMHelpFile = object(TCustomHTMLHelpFile)
|
||||||
|
constructor Init(AFileName: string; AID: word);
|
||||||
|
destructor Done; virtual;
|
||||||
|
public
|
||||||
|
function LoadIndex: boolean; virtual;
|
||||||
|
function ReadTopic(T: PTopic): boolean; virtual;
|
||||||
|
function GetTopicInfo(T: PTopic) : string; virtual;
|
||||||
|
function SearchTopic(HelpCtx: THelpCtx): PTopic; virtual;
|
||||||
|
private
|
||||||
|
Chmw: TCHMWrapper;
|
||||||
|
end;
|
||||||
|
|
||||||
PHTMLIndexHelpFile = ^THTMLIndexHelpFile;
|
PHTMLIndexHelpFile = ^THTMLIndexHelpFile;
|
||||||
THTMLIndexHelpFile = object(TCustomHTMLHelpFile)
|
THTMLIndexHelpFile = object(TCustomHTMLHelpFile)
|
||||||
constructor Init(AFileName: string; AID: word);
|
constructor Init(AFileName: string; AID: word);
|
||||||
@ -527,25 +539,6 @@ begin
|
|||||||
DefHTMLGetSectionColor:=false;
|
DefHTMLGetSectionColor:=false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function EncodeHTMLCtx(FileID: integer; LinkNo: word): longint;
|
|
||||||
var Ctx: longint;
|
|
||||||
begin
|
|
||||||
Ctx:=(longint(FileID) shl 16)+LinkNo;
|
|
||||||
EncodeHTMLCtx:=Ctx;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure DecodeHTMLCtx(Ctx: longint; var FileID: word; var LinkNo: word);
|
|
||||||
begin
|
|
||||||
if (Ctx shr 16)=0 then
|
|
||||||
begin
|
|
||||||
FileID:=$ffff; LinkNo:=0;
|
|
||||||
end
|
|
||||||
else
|
|
||||||
begin
|
|
||||||
FileID:=Ctx shr 16; LinkNo:=Ctx and $ffff;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function CharStr(C: char; Count: byte): string;
|
function CharStr(C: char; Count: byte): string;
|
||||||
var S: string;
|
var S: string;
|
||||||
begin
|
begin
|
||||||
@ -554,27 +547,6 @@ begin
|
|||||||
CharStr:=S;
|
CharStr:=S;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TTopicLinkCollection.Insert(Item: Pointer);
|
|
||||||
begin
|
|
||||||
AtInsert(Count,Item);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TTopicLinkCollection.At(Index: sw_Integer): PString;
|
|
||||||
begin
|
|
||||||
At:=inherited At(Index);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TTopicLinkCollection.AddItem(Item: string): integer;
|
|
||||||
var Idx: sw_integer;
|
|
||||||
begin
|
|
||||||
if Item='' then Idx:=-1 else
|
|
||||||
if Search(@Item,Idx)=false then
|
|
||||||
begin
|
|
||||||
AtInsert(Count,NewStr(Item));
|
|
||||||
Idx:=Count-1;
|
|
||||||
end;
|
|
||||||
AddItem:=Idx;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function THTMLTopicRenderer.DocAddTextChar(C: char): boolean;
|
function THTMLTopicRenderer.DocAddTextChar(C: char): boolean;
|
||||||
var Added: boolean;
|
var Added: boolean;
|
||||||
@ -662,9 +634,9 @@ begin
|
|||||||
if Name<>'' then
|
if Name<>'' then
|
||||||
begin
|
begin
|
||||||
Topic^.NamedMarks^.InsertStr(Name);
|
Topic^.NamedMarks^.InsertStr(Name);
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
DebugMessage('',' Adding Name "'+Name+'"',1,1);
|
DebugMessage('',' Adding Name "'+Name+'"',1,1);
|
||||||
{$endif DEBUG}
|
{$endif WDEBUG}
|
||||||
AddChar(hscNamedMark);
|
AddChar(hscNamedMark);
|
||||||
end;
|
end;
|
||||||
if (HRef<>'')then
|
if (HRef<>'')then
|
||||||
@ -674,13 +646,17 @@ begin
|
|||||||
begin
|
begin
|
||||||
InAnchor:=true;
|
InAnchor:=true;
|
||||||
AddChar(hscLink);
|
AddChar(hscLink);
|
||||||
|
{$IFDEF WDEBUG}
|
||||||
|
DebugMessage('',' Adding Link1 "'+HRef+'"'+' "'+url+'"',1,1);
|
||||||
|
{$endif WDEBUG}
|
||||||
|
|
||||||
if pos('#',HRef)=1 then
|
if pos('#',HRef)=1 then
|
||||||
Href:=NameAndExtOf(GetFilename)+Href;
|
Href:=NameAndExtOf(GetFilename)+Href;
|
||||||
HRef:=CompleteURL(URL,HRef);
|
HRef:=canonicalizeURL(URL,HRef);
|
||||||
LinkIndexes[LinkPtr]:=TopicLinks^.AddItem(HRef);
|
LinkIndexes[LinkPtr]:=TopicLinks^.AddItem(HRef);
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
DebugMessage('',' Adding Link "'+HRef+'"',1,1);
|
DebugMessage('',' Adding Link2 "'+HRef+'"',1,1);
|
||||||
{$endif DEBUG}
|
{$endif WDEBUG}
|
||||||
Inc(LinkPtr);
|
Inc(LinkPtr);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -694,10 +670,10 @@ end;
|
|||||||
|
|
||||||
procedure THTMLTopicRenderer.DocUnknownTag;
|
procedure THTMLTopicRenderer.DocUnknownTag;
|
||||||
begin
|
begin
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
DebugMessage('',' Unknown tag "'+TagName+'" params "'+
|
DebugMessage('',' Unknown tag "'+TagName+'" params "'+
|
||||||
TagParams+'"',1,1);
|
TagParams+'"',1,1);
|
||||||
{$endif DEBUG}
|
{$endif WDEBUG}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure DecodeAlign(Align: string; var PAlign: TParagraphAlign);
|
procedure DecodeAlign(Align: string; var PAlign: TParagraphAlign);
|
||||||
@ -740,6 +716,12 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Function THTMLTopicRenderer.CanonicalizeURL(const Base,Relative:String):string;
|
||||||
|
// uses info from filesystem (curdir) -> overriden for CHM.
|
||||||
|
begin
|
||||||
|
CanonicalizeURL:=CompleteURL(Base,relative);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure THTMLTopicRenderer.DocParagraph(Entered: boolean);
|
procedure THTMLTopicRenderer.DocParagraph(Entered: boolean);
|
||||||
var Align: string;
|
var Align: string;
|
||||||
begin
|
begin
|
||||||
@ -776,20 +758,20 @@ var
|
|||||||
begin
|
begin
|
||||||
if pos('tex4ht:',Comment)=0 then
|
if pos('tex4ht:',Comment)=0 then
|
||||||
exit;
|
exit;
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
DebugMessage(GetFileName,'tex4ht comment "'
|
DebugMessage(GetFileName,'tex4ht comment "'
|
||||||
+Comment+'"',Line,1);
|
+Comment+'"',Line,1);
|
||||||
{$endif DEBUG}
|
{$endif WDEBUG}
|
||||||
if SuppressOutput then
|
if SuppressOutput then
|
||||||
begin
|
begin
|
||||||
if (pos(SuppressUntil,Comment)=0) then
|
if (pos(SuppressUntil,Comment)=0) then
|
||||||
exit
|
exit
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
DebugMessage(GetFileName,' Found '+SuppressUntil+'comment "'
|
DebugMessage(GetFileName,' Found '+SuppressUntil+'comment "'
|
||||||
+Comment+'" SuppressOuput reset to false',Line,1);
|
+Comment+'" SuppressOuput reset to false',Line,1);
|
||||||
{$endif DEBUG}
|
{$endif WDEBUG}
|
||||||
SuppressOutput:=false;
|
SuppressOutput:=false;
|
||||||
SuppressUntil:='';
|
SuppressUntil:='';
|
||||||
end;
|
end;
|
||||||
@ -797,20 +779,20 @@ begin
|
|||||||
if (pos('tex4ht:graphics ',Comment)>0) and
|
if (pos('tex4ht:graphics ',Comment)>0) and
|
||||||
LastAnsiLoadFailed then
|
LastAnsiLoadFailed then
|
||||||
begin
|
begin
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
DebugMessage(GetFileName,' Using tex4ht comment "'
|
DebugMessage(GetFileName,' Using tex4ht comment "'
|
||||||
+Comment+'"',Line,1);
|
+Comment+'"',Line,1);
|
||||||
{$endif DEBUG}
|
{$endif WDEBUG}
|
||||||
{ Try again with this info }
|
{ Try again with this info }
|
||||||
TagParams:=Comment;
|
TagParams:=Comment;
|
||||||
DocImage;
|
DocImage;
|
||||||
end;
|
end;
|
||||||
if (pos('tex4ht:syntaxdiagram ',Comment)>0) then
|
if (pos('tex4ht:syntaxdiagram ',Comment)>0) then
|
||||||
begin
|
begin
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
DebugMessage(GetFileName,' Using tex4ht:syntaxdiagram comment "'
|
DebugMessage(GetFileName,' Using tex4ht:syntaxdiagram comment "'
|
||||||
+Comment+'"',Line,1);
|
+Comment+'"',Line,1);
|
||||||
{$endif DEBUG}
|
{$endif WDEBUG}
|
||||||
{ Try again with this info }
|
{ Try again with this info }
|
||||||
TagParams:=Comment;
|
TagParams:=Comment;
|
||||||
DocImage;
|
DocImage;
|
||||||
@ -822,10 +804,10 @@ begin
|
|||||||
end;
|
end;
|
||||||
if (pos('tex4ht:mysyntdiag ',Comment)>0) then
|
if (pos('tex4ht:mysyntdiag ',Comment)>0) then
|
||||||
begin
|
begin
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
DebugMessage(GetFileName,' Using tex4ht:mysyntdiag comment "'
|
DebugMessage(GetFileName,' Using tex4ht:mysyntdiag comment "'
|
||||||
+Comment+'"',Line,1);
|
+Comment+'"',Line,1);
|
||||||
{$endif DEBUG}
|
{$endif WDEBUG}
|
||||||
{ Try again with this info }
|
{ Try again with this info }
|
||||||
TagParams:=Comment;
|
TagParams:=Comment;
|
||||||
DocGetTagParam('SRC',src);
|
DocGetTagParam('SRC',src);
|
||||||
@ -849,16 +831,16 @@ var Name,Src,Alt,SrcLine: string;
|
|||||||
begin
|
begin
|
||||||
if SuppressOutput then
|
if SuppressOutput then
|
||||||
exit;
|
exit;
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
if not DocGetTagParam('NAME',Name) then
|
if not DocGetTagParam('NAME',Name) then
|
||||||
Name:='<No name>';
|
Name:='<No name>';
|
||||||
DebugMessage(GetFileName,' Image "'+Name+'"',Line,1);
|
DebugMessage(GetFileName,' Image "'+Name+'"',Line,1);
|
||||||
{$endif DEBUG}
|
{$endif WDEBUG}
|
||||||
if DocGetTagParam('SRC',src) then
|
if DocGetTagParam('SRC',src) then
|
||||||
begin
|
begin
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
DebugMessage(GetFileName,' Image source tag "'+Src+'"',Line,1);
|
DebugMessage(GetFileName,' Image source tag "'+Src+'"',Line,1);
|
||||||
{$endif DEBUG}
|
{$endif WDEBUG}
|
||||||
if src<>'' then
|
if src<>'' then
|
||||||
begin
|
begin
|
||||||
src:=CompleteURL(URL,src);
|
src:=CompleteURL(URL,src);
|
||||||
@ -866,24 +848,24 @@ begin
|
|||||||
Try to see if a file with same name and extension .git
|
Try to see if a file with same name and extension .git
|
||||||
exists PM }
|
exists PM }
|
||||||
src:=DirAndNameOf(src)+'.ans';
|
src:=DirAndNameOf(src)+'.ans';
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
DebugMessage(GetFileName,' Trying "'+Src+'"',Line,1);
|
DebugMessage(GetFileName,' Trying "'+Src+'"',Line,1);
|
||||||
{$endif DEBUG}
|
{$endif WDEBUG}
|
||||||
if not ExistsFile(src) then
|
if not ExistsFile(src) then
|
||||||
begin
|
begin
|
||||||
DocGetTagParam('SRC',src);
|
DocGetTagParam('SRC',src);
|
||||||
src:=DirAndNameOf(src)+'.ans';
|
src:=DirAndNameOf(src)+'.ans';
|
||||||
src:=CompleteURL(DirOf(URL)+'../',src);
|
src:=CompleteURL(DirOf(URL)+'../',src);
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
DebugMessage(GetFileName,' Trying "'+Src+'"',Line,1);
|
DebugMessage(GetFileName,' Trying "'+Src+'"',Line,1);
|
||||||
{$endif DEBUG}
|
{$endif wDEBUG}
|
||||||
end;
|
end;
|
||||||
if not ExistsFile(src) then
|
if not ExistsFile(src) then
|
||||||
begin
|
begin
|
||||||
LastAnsiLoadFailed:=true;
|
LastAnsiLoadFailed:=true;
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
DebugMessage(GetFileName,' "'+Src+'" not found',Line,1);
|
DebugMessage(GetFileName,' "'+Src+'" not found',Line,1);
|
||||||
{$endif DEBUG}
|
{$endif WDEBUG}
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
@ -908,9 +890,9 @@ begin
|
|||||||
if not ExistsFile(src) then
|
if not ExistsFile(src) then
|
||||||
begin
|
begin
|
||||||
LastAnsiLoadFailed:=true;
|
LastAnsiLoadFailed:=true;
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
DebugMessage(GetFileName,' "'+Src+'" not found',Line,1);
|
DebugMessage(GetFileName,' "'+Src+'" not found',Line,1);
|
||||||
{$endif DEBUG}
|
{$endif WDEBUG}
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
@ -1336,6 +1318,11 @@ begin
|
|||||||
BuildTopic:=OK;
|
BuildTopic:=OK;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Function TCHMTopicRenderer.CanonicalizeURL(const Base,Relative:String):string;
|
||||||
|
begin
|
||||||
|
CanonicalizeUrl:=combinepaths(relative,base);
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TCustomHTMLHelpFile.Init(AID: word);
|
constructor TCustomHTMLHelpFile.Init(AID: word);
|
||||||
begin
|
begin
|
||||||
inherited Init(AID);
|
inherited Init(AID);
|
||||||
@ -1388,10 +1375,14 @@ begin
|
|||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
Link:=TopicLinks^.At((T^.HelpCtx and $ffff)-1)^;
|
Link:=TopicLinks^.At((T^.HelpCtx and $ffff)-1)^;
|
||||||
|
{$IFDEF WDEBUG}
|
||||||
|
DebugMessage(Link,' looking before for ',1,1);
|
||||||
|
{$endif WDEBUG}
|
||||||
|
|
||||||
Link:=FormatPath(Link);
|
Link:=FormatPath(Link);
|
||||||
{$ifdef DEBUG_WHTMLHLP}
|
{$IFDEF WDEBUG}
|
||||||
DebugMessage(Link,' looking for',1,1);
|
DebugMessage(Link,' looking after for ',1,1);
|
||||||
{$endif DEBUG_WHTMLHLP}
|
{$endif WDEBUG}
|
||||||
P:=Pos('#',Link);
|
P:=Pos('#',Link);
|
||||||
if P>0 then
|
if P>0 then
|
||||||
begin
|
begin
|
||||||
@ -1425,10 +1416,15 @@ begin
|
|||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
Link:=TopicLinks^.At((T^.HelpCtx and $ffff)-1)^;
|
Link:=TopicLinks^.At((T^.HelpCtx and $ffff)-1)^;
|
||||||
|
{$IFDEF WDEBUG}
|
||||||
|
DebugMessage(Link,' looking before for ',1,1);
|
||||||
|
{$endif WDEBUG}
|
||||||
|
|
||||||
Link:=FormatPath(Link);
|
Link:=FormatPath(Link);
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
DebugMessage(Link,' looking for',1,1);
|
DebugMessage(Link,' looking after for ',1,1);
|
||||||
{$endif DEBUG}
|
{$endif WDEBUG}
|
||||||
|
|
||||||
P:=Pos('#',Link);
|
P:=Pos('#',Link);
|
||||||
if P>0 then
|
if P>0 then
|
||||||
begin
|
begin
|
||||||
@ -1450,18 +1446,18 @@ begin
|
|||||||
end;
|
end;
|
||||||
if (HTMLFile=nil) then
|
if (HTMLFile=nil) then
|
||||||
begin
|
begin
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
DebugMessage(Link,' filename not known :(',1,1);
|
DebugMessage(Link,' filename not known :(',1,1);
|
||||||
{$endif DEBUG}
|
{$endif DEBUG}
|
||||||
end;
|
end;
|
||||||
if (p>1) and (HTMLFile=nil) then
|
if (p>1) and (HTMLFile=nil) then
|
||||||
begin
|
begin
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
if p>0 then
|
if p>0 then
|
||||||
DebugMessage(Name,Link+'#'+Bookmark+' not found',1,1)
|
DebugMessage(Name,Link+'#'+Bookmark+' not found',1,1)
|
||||||
else
|
else
|
||||||
DebugMessage(Name,Link+' not found',1,1);
|
DebugMessage(Name,Link+' not found',1,1);
|
||||||
{$endif DEBUG}
|
{$endif WDEBUG}
|
||||||
New(HTMLFile, Init);
|
New(HTMLFile, Init);
|
||||||
HTMLFile^.AddLine('<HEAD><TITLE>'+msg_pagenotavailable+'</TITLE></HEAD>');
|
HTMLFile^.AddLine('<HEAD><TITLE>'+msg_pagenotavailable+'</TITLE></HEAD>');
|
||||||
HTMLFile^.AddLine(
|
HTMLFile^.AddLine(
|
||||||
@ -1474,12 +1470,12 @@ begin
|
|||||||
CurFileName:=Name
|
CurFileName:=Name
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
if p>0 then
|
if p>0 then
|
||||||
DebugMessage(Name,Link+'#'+Bookmark+' not found',1,1)
|
DebugMessage(Name,Link+'#'+Bookmark+' not found',1,1)
|
||||||
else
|
else
|
||||||
DebugMessage(Name,Link+' not found',1,1);
|
DebugMessage(Name,Link+' not found',1,1);
|
||||||
{$endif DEBUG}
|
{$endif WDEBUG}
|
||||||
end;
|
end;
|
||||||
if HTMLFile<>nil then Dispose(HTMLFile, Done);
|
if HTMLFile<>nil then Dispose(HTMLFile, Done);
|
||||||
if BookMark='' then
|
if BookMark='' then
|
||||||
@ -1487,10 +1483,10 @@ begin
|
|||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
P:=T^.GetNamedMarkIndex(BookMark);
|
P:=T^.GetNamedMarkIndex(BookMark);
|
||||||
{$ifdef DEBUG}
|
{$IFDEF WDEBUG}
|
||||||
if p=-1 then
|
if p=-1 then
|
||||||
DebugMessage(Name,Link+'#'+Bookmark+' bookmark not found',1,1);
|
DebugMessage(Name,Link+'#'+Bookmark+' bookmark not found',1,1);
|
||||||
{$endif DEBUG}
|
{$endif WDEBUG}
|
||||||
T^.StartNamedMark:=P+1;
|
T^.StartNamedMark:=P+1;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -1576,6 +1572,194 @@ begin
|
|||||||
LoadIndex:=OK;
|
LoadIndex:=OK;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
constructor TChmHelpFile.Init(AFileName: string; AID: word);
|
||||||
|
begin
|
||||||
|
if inherited Init(AID)=false then Fail;
|
||||||
|
renderer^.done;
|
||||||
|
renderer:=New(PCHMTopicRenderer, Init);
|
||||||
|
DefaultFileName:=AFileName;
|
||||||
|
if (DefaultFileName='') or not ExistsFile(DefaultFilename) then
|
||||||
|
begin
|
||||||
|
Done;
|
||||||
|
Fail;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
chmw:=TCHMWrapper.Create(DefaultFileName);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TChmHelpFile.LoadIndex: boolean;
|
||||||
|
begin
|
||||||
|
loadindex:=false;
|
||||||
|
if assigned(chmw) then
|
||||||
|
loadindex:=chmw.loadindex(id,TopicLinks,IndexEntries,helpfacility);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TChmHelpFile.SearchTopic(HelpCtx: THelpCtx): PTopic;
|
||||||
|
function MatchCtx(P: PTopic): boolean;
|
||||||
|
begin
|
||||||
|
MatchCtx:=P^.HelpCtx=HelpCtx;
|
||||||
|
end;
|
||||||
|
var FileID,LinkNo: word;
|
||||||
|
P: PTopic;
|
||||||
|
FName: string;
|
||||||
|
begin
|
||||||
|
DecodeHTMLCtx(HelpCtx,FileID,LinkNo);
|
||||||
|
if (HelpCtx<>0) and (FileID<>ID) then P:=nil else
|
||||||
|
if (FileID=ID) and (LinkNo>TopicLinks^.Count) then P:=nil else
|
||||||
|
begin
|
||||||
|
P:=Topics^.FirstThat(@MatchCtx);
|
||||||
|
if P=nil then
|
||||||
|
begin
|
||||||
|
if LinkNo=0 then
|
||||||
|
FName:=DefaultFileName
|
||||||
|
else
|
||||||
|
FName:=TopicLinks^.At(LinkNo-1)^;
|
||||||
|
P:=NewTopic(ID,HelpCtx,0,FName,nil,0);
|
||||||
|
Topics^.Insert(P);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
SearchTopic:=P;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TChmHelpFile.GetTopicInfo(T: PTopic) : string;
|
||||||
|
var OK: boolean;
|
||||||
|
Name: string;
|
||||||
|
Link,Bookmark: string;
|
||||||
|
P: sw_integer;
|
||||||
|
begin
|
||||||
|
Bookmark:='';
|
||||||
|
OK:=T<>nil;
|
||||||
|
if OK then
|
||||||
|
begin
|
||||||
|
if T^.HelpCtx=0 then
|
||||||
|
begin
|
||||||
|
Name:=DefaultFileName;
|
||||||
|
P:=0;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Link:=TopicLinks^.At((T^.HelpCtx and $ffff)-1)^;
|
||||||
|
Link:=FormatPath(Link);
|
||||||
|
{$IFDEF WDEBUG}
|
||||||
|
DebugMessage(Link,' looking for',1,1);
|
||||||
|
{$endif WDEBUG}
|
||||||
|
P:=Pos('#',Link);
|
||||||
|
if P>0 then
|
||||||
|
begin
|
||||||
|
Bookmark:=copy(Link,P+1,length(Link));
|
||||||
|
Link:=copy(Link,1,P-1);
|
||||||
|
end;
|
||||||
|
{ if CurFileName='' then Name:=Link else
|
||||||
|
Name:=CompletePath(CurFileName,Link);}
|
||||||
|
Name:=Link;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
GetTopicInfo:=Name+'#'+BookMark;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TChmHelpFile.ReadTopic(T: PTopic): boolean;
|
||||||
|
var OK: boolean;
|
||||||
|
HTMLFile: PMemoryTextFile;
|
||||||
|
Name: string;
|
||||||
|
Link,Bookmark: string;
|
||||||
|
P: sw_integer;
|
||||||
|
begin
|
||||||
|
Bookmark:='';
|
||||||
|
OK:=T<>nil;
|
||||||
|
if OK then
|
||||||
|
begin
|
||||||
|
if T^.HelpCtx=0 then
|
||||||
|
begin
|
||||||
|
Name:=DefaultFileName;
|
||||||
|
P:=0;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Link:=TopicLinks^.At((T^.HelpCtx and $ffff)-1)^;
|
||||||
|
{$IFDEF WDEBUG}
|
||||||
|
DebugMessage(Link,' looking for',1,1);
|
||||||
|
{$endif WDEBUG}
|
||||||
|
|
||||||
|
Link:=FormatPath(Link);
|
||||||
|
{$IFDEF WDEBUG}
|
||||||
|
DebugMessage(Link,' looking for',1,1);
|
||||||
|
{$endif WDEBUG}
|
||||||
|
P:=Pos('#',Link);
|
||||||
|
if P>0 then
|
||||||
|
begin
|
||||||
|
Bookmark:=copy(Link,P+1,length(Link));
|
||||||
|
Link:=copy(Link,1,P-1);
|
||||||
|
end;
|
||||||
|
{ if CurFileName='' then Name:=Link else
|
||||||
|
Name:=CompletePath(CurFileName,Link);}
|
||||||
|
Name:=Link;
|
||||||
|
end;
|
||||||
|
HTMLFile:=nil;
|
||||||
|
if Name<>'' then
|
||||||
|
HTMLFile:=chmw.gettopic(name);
|
||||||
|
|
||||||
|
if (HTMLFile=nil) and (CurFileName<>'') then
|
||||||
|
begin
|
||||||
|
Name:=CurFileName;
|
||||||
|
HTMLFile:=chmw.gettopic(name);
|
||||||
|
end;
|
||||||
|
if (HTMLFile=nil) then
|
||||||
|
begin
|
||||||
|
{$IFDEF WDEBUG}
|
||||||
|
DebugMessage(Link,' filename not known :(',1,1);
|
||||||
|
{$endif WDEBUG}
|
||||||
|
end;
|
||||||
|
if (p>1) and (HTMLFile=nil) then
|
||||||
|
begin
|
||||||
|
{$IFDEF WDEBUG}
|
||||||
|
if p>0 then
|
||||||
|
DebugMessage(Name,Link+'#'+Bookmark+' not found',1,1)
|
||||||
|
else
|
||||||
|
DebugMessage(Name,Link+' not found',1,1);
|
||||||
|
{$endif WDEBUG}
|
||||||
|
New(HTMLFile, Init);
|
||||||
|
HTMLFile^.AddLine('<HEAD><TITLE>'+msg_pagenotavailable+'</TITLE></HEAD>');
|
||||||
|
HTMLFile^.AddLine(
|
||||||
|
'<BODY>'+
|
||||||
|
FormatStrStr(msg_cantaccessurl,Name)+'<br><br>'+
|
||||||
|
'</BODY>');
|
||||||
|
end;
|
||||||
|
OK:=Renderer^.BuildTopic(T,Name,HTMLFile,TopicLinks);
|
||||||
|
if OK then
|
||||||
|
CurFileName:=Name
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
{$IFDEF WDEBUG}
|
||||||
|
if p>0 then
|
||||||
|
DebugMessage(Name,Link+'#'+Bookmark+' not found',1,1)
|
||||||
|
else
|
||||||
|
DebugMessage(Name,Link+' not found',1,1);
|
||||||
|
{$endif WDEBUG}
|
||||||
|
end;
|
||||||
|
if HTMLFile<>nil then Dispose(HTMLFile, Done);
|
||||||
|
if BookMark='' then
|
||||||
|
T^.StartNamedMark:=0
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
P:=T^.GetNamedMarkIndex(BookMark);
|
||||||
|
{$IFDEF WDEBUG}
|
||||||
|
if p=-1 then
|
||||||
|
DebugMessage(Name,Link+'#'+Bookmark+' bookmark not found',1,1);
|
||||||
|
{$endif WDEBUG}
|
||||||
|
T^.StartNamedMark:=P+1;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
ReadTopic:=OK;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TChmHelpFile.done;
|
||||||
|
|
||||||
|
begin
|
||||||
|
if assigned(chmw) then
|
||||||
|
chmw.free;
|
||||||
|
inherited Done;
|
||||||
|
end;
|
||||||
|
|
||||||
function CreateProcHTML(const FileName,Param: string;Index : longint): PHelpFile;
|
function CreateProcHTML(const FileName,Param: string;Index : longint): PHelpFile;
|
||||||
var H: PHelpFile;
|
var H: PHelpFile;
|
||||||
begin
|
begin
|
||||||
@ -1585,6 +1769,15 @@ begin
|
|||||||
CreateProcHTML:=H;
|
CreateProcHTML:=H;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function CreateProcCHM(const FileName,Param: string;Index : longint): PHelpFile;
|
||||||
|
var H: PHelpFile;
|
||||||
|
begin
|
||||||
|
H:=nil;
|
||||||
|
if CompareText(copy(ExtOf(FileName),1,length(extCHM)),extCHM)=0 then
|
||||||
|
H:=New(PCHMHelpFile, Init(FileName,Index));
|
||||||
|
CreateProcCHM:=H;
|
||||||
|
end;
|
||||||
|
|
||||||
function CreateProcHTMLIndex(const FileName,Param: string;Index : longint): PHelpFile;
|
function CreateProcHTMLIndex(const FileName,Param: string;Index : longint): PHelpFile;
|
||||||
var H: PHelpFile;
|
var H: PHelpFile;
|
||||||
begin
|
begin
|
||||||
@ -1598,6 +1791,7 @@ procedure RegisterHelpType;
|
|||||||
begin
|
begin
|
||||||
RegisterHelpFileType({$ifdef FPC}@{$endif}CreateProcHTML);
|
RegisterHelpFileType({$ifdef FPC}@{$endif}CreateProcHTML);
|
||||||
RegisterHelpFileType({$ifdef FPC}@{$endif}CreateProcHTMLIndex);
|
RegisterHelpFileType({$ifdef FPC}@{$endif}CreateProcHTMLIndex);
|
||||||
|
RegisterHelpFileType({$ifdef FPC}@{$endif}CreateProcCHM);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user