Browse Source

* Added functionality to create fpdoc.css from internal copy

git-svn-id: trunk@22079 -
michael 13 years ago
parent
commit
9635787b5a
5 changed files with 235 additions and 15 deletions
  1. 1 0
      .gitattributes
  2. 66 7
      utils/fpdoc/Makefile
  3. 6 0
      utils/fpdoc/Makefile.fpc
  4. 136 0
      utils/fpdoc/css.inc
  5. 26 8
      utils/fpdoc/dw_html.pp

+ 1 - 0
.gitattributes

@@ -13707,6 +13707,7 @@ utils/fpdoc/COPYING.txt svneol=native#text/plain
 utils/fpdoc/Makefile svneol=native#text/plain
 utils/fpdoc/Makefile svneol=native#text/plain
 utils/fpdoc/Makefile.fpc svneol=native#text/plain
 utils/fpdoc/Makefile.fpc svneol=native#text/plain
 utils/fpdoc/README.txt svneol=native#text/plain
 utils/fpdoc/README.txt svneol=native#text/plain
+utils/fpdoc/css.inc svneol=native#text/plain
 utils/fpdoc/dglobals.pp svneol=native#text/plain
 utils/fpdoc/dglobals.pp svneol=native#text/plain
 utils/fpdoc/dw_dxml.pp svneol=native#text/plain
 utils/fpdoc/dw_dxml.pp svneol=native#text/plain
 utils/fpdoc/dw_html.pp svneol=native#text/plain
 utils/fpdoc/dw_html.pp svneol=native#text/plain

+ 66 - 7
utils/fpdoc/Makefile

@@ -1,8 +1,8 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2012/04/25]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2012/05/25]
 #
 #
 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 powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd 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 powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux 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 powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd 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 powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux jvm-java jvm-android
 BSDs = freebsd netbsd openbsd darwin
 BSDs = freebsd netbsd openbsd darwin
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom
 LIMIT83fs = go32v2 os2 emx watcom
@@ -258,11 +258,13 @@ ifndef BINUTILSPREFIX
 ifndef CROSSBINDIR
 ifndef CROSSBINDIR
 ifdef CROSSCOMPILE
 ifdef CROSSCOMPILE
 ifndef DARWIN2DARWIN
 ifndef DARWIN2DARWIN
+ifneq ($(CPU_TARGET),jvm)
 BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
 BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
 endif
 endif
 endif
 endif
 endif
 endif
 endif
 endif
+endif
 UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
 UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
 ifeq ($(UNITSDIR),)
 ifeq ($(UNITSDIR),)
 UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
@@ -498,6 +500,12 @@ endif
 ifeq ($(FULL_TARGET),mipsel-linux)
 ifeq ($(FULL_TARGET),mipsel-linux)
 override TARGET_PROGRAMS+=fpdoc makeskel unitdiff fpclasschart
 override TARGET_PROGRAMS+=fpdoc makeskel unitdiff fpclasschart
 endif
 endif
+ifeq ($(FULL_TARGET),jvm-java)
+override TARGET_PROGRAMS+=fpdoc makeskel unitdiff fpclasschart
+endif
+ifeq ($(FULL_TARGET),jvm-android)
+override TARGET_PROGRAMS+=fpdoc makeskel unitdiff fpclasschart
+endif
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override CLEAN_UNITS+=dglobals dwriter dw_xml sh_pas dw_html dw_latex dw_ipf dw_txt dw_man dwlinear dw_linrtf dw_dxml fpdocproj fpdocxmlopts mkfpdoc
 override CLEAN_UNITS+=dglobals dwriter dw_xml sh_pas dw_html dw_latex dw_ipf dw_txt dw_man dwlinear dw_linrtf dw_dxml fpdocproj fpdocxmlopts mkfpdoc
 endif
 endif
@@ -702,6 +710,12 @@ endif
 ifeq ($(FULL_TARGET),mipsel-linux)
 ifeq ($(FULL_TARGET),mipsel-linux)
 override CLEAN_UNITS+=dglobals dwriter dw_xml sh_pas dw_html dw_latex dw_ipf dw_txt dw_man dwlinear dw_linrtf dw_dxml fpdocproj fpdocxmlopts mkfpdoc
 override CLEAN_UNITS+=dglobals dwriter dw_xml sh_pas dw_html dw_latex dw_ipf dw_txt dw_man dwlinear dw_linrtf dw_dxml fpdocproj fpdocxmlopts mkfpdoc
 endif
 endif
+ifeq ($(FULL_TARGET),jvm-java)
+override CLEAN_UNITS+=dglobals dwriter dw_xml sh_pas dw_html dw_latex dw_ipf dw_txt dw_man dwlinear dw_linrtf dw_dxml fpdocproj fpdocxmlopts mkfpdoc
+endif
+ifeq ($(FULL_TARGET),jvm-android)
+override CLEAN_UNITS+=dglobals dwriter dw_xml sh_pas dw_html dw_latex dw_ipf dw_txt dw_man dwlinear dw_linrtf dw_dxml fpdocproj fpdocxmlopts mkfpdoc
+endif
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override CLEAN_FILES+=dwriter.rst fpdoc.rst dglobals.rst makeskel.rst fpdocopts.rst
 override CLEAN_FILES+=dwriter.rst fpdoc.rst dglobals.rst makeskel.rst fpdocopts.rst
 endif
 endif
@@ -906,6 +920,12 @@ endif
 ifeq ($(FULL_TARGET),mipsel-linux)
 ifeq ($(FULL_TARGET),mipsel-linux)
 override CLEAN_FILES+=dwriter.rst fpdoc.rst dglobals.rst makeskel.rst fpdocopts.rst
 override CLEAN_FILES+=dwriter.rst fpdoc.rst dglobals.rst makeskel.rst fpdocopts.rst
 endif
 endif
+ifeq ($(FULL_TARGET),jvm-java)
+override CLEAN_FILES+=dwriter.rst fpdoc.rst dglobals.rst makeskel.rst fpdocopts.rst
+endif
+ifeq ($(FULL_TARGET),jvm-android)
+override CLEAN_FILES+=dwriter.rst fpdoc.rst dglobals.rst makeskel.rst fpdocopts.rst
+endif
 override INSTALL_FPCPACKAGE=y
 override INSTALL_FPCPACKAGE=y
 ifeq ($(FULL_TARGET),i386-linux)
 ifeq ($(FULL_TARGET),i386-linux)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
@@ -1111,6 +1131,12 @@ endif
 ifeq ($(FULL_TARGET),mipsel-linux)
 ifeq ($(FULL_TARGET),mipsel-linux)
 override COMPILER_OPTIONS+=-S2h
 override COMPILER_OPTIONS+=-S2h
 endif
 endif
+ifeq ($(FULL_TARGET),jvm-java)
+override COMPILER_OPTIONS+=-S2h
+endif
+ifeq ($(FULL_TARGET),jvm-android)
+override COMPILER_OPTIONS+=-S2h
+endif
 ifdef REQUIRE_UNITSDIR
 ifdef REQUIRE_UNITSDIR
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
 endif
 endif
@@ -1468,6 +1494,18 @@ BATCHEXT=.sh
 EXEEXT=
 EXEEXT=
 SHORTSUFFIX=aix
 SHORTSUFFIX=aix
 endif
 endif
+ifeq ($(OS_TARGET),java)
+OEXT=.class
+ASMEXT=.j
+SHAREDLIBEXT=.jar
+SHORTSUFFIX=java
+endif
+ifeq ($(OS_TARGET),android)
+OEXT=.class
+ASMEXT=.j
+SHAREDLIBEXT=.jar
+SHORTSUFFIX=android
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 FPCMADE=fpcmade.$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
 ZIPSUFFIX=$(SHORTSUFFIX)
@@ -2464,6 +2502,28 @@ REQUIRE_PACKAGES_FCL-XML=1
 REQUIRE_PACKAGES_FCL-PASSRC=1
 REQUIRE_PACKAGES_FCL-PASSRC=1
 REQUIRE_PACKAGES_CHM=1
 REQUIRE_PACKAGES_CHM=1
 endif
 endif
+ifeq ($(FULL_TARGET),jvm-java)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_FCL-XML=1
+REQUIRE_PACKAGES_FCL-PASSRC=1
+REQUIRE_PACKAGES_CHM=1
+endif
+ifeq ($(FULL_TARGET),jvm-android)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_PASZLIB=1
+REQUIRE_PACKAGES_FCL-PROCESS=1
+REQUIRE_PACKAGES_HASH=1
+REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-BASE=1
+REQUIRE_PACKAGES_FCL-XML=1
+REQUIRE_PACKAGES_FCL-PASSRC=1
+REQUIRE_PACKAGES_CHM=1
+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))))))
 ifneq ($(PACKAGEDIR_RTL),)
 ifneq ($(PACKAGEDIR_RTL),)
@@ -2956,17 +3016,12 @@ endif
 endif
 endif
 ifdef CREATESHARED
 ifdef CREATESHARED
 override FPCOPT+=-Cg
 override FPCOPT+=-Cg
-ifeq ($(CPU_TARGET),i386)
-override FPCOPT+=-Aas
 endif
 endif
-endif
-ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
 ifneq ($(findstring $(OS_TARGET),freebsd openbsd netbsd linux solaris),)
 ifneq ($(findstring $(OS_TARGET),freebsd openbsd netbsd linux solaris),)
 ifeq ($(CPU_TARGET),x86_64)
 ifeq ($(CPU_TARGET),x86_64)
 override FPCOPT+=-Cg
 override FPCOPT+=-Cg
 endif
 endif
 endif
 endif
-endif
 ifdef LINKSHARED
 ifdef LINKSHARED
 endif
 endif
 ifdef OPT
 ifdef OPT
@@ -3465,3 +3520,7 @@ endif
 fpdoc$(EXEEXT): fpdoc.pp dglobals.pp dwriter.pp dw_xml.pp sh_pas.pp dw_html.pp\
 fpdoc$(EXEEXT): fpdoc.pp dglobals.pp dwriter.pp dw_xml.pp sh_pas.pp dw_html.pp\
   dw_latex.pp dwlinear.pp dw_txt.pp dw_linrtf.pp
   dw_latex.pp dwlinear.pp dw_txt.pp dw_linrtf.pp
 makeskel$(EXEEXT): makeskel.pp dglobals.pp
 makeskel$(EXEEXT): makeskel.pp dglobals.pp
+css.inc: fpdoc.css ../bin2obj$(EXEEXT)
+	../bin2obj$(EXEEXT) -o css.inc -c DefaultCSS fpdoc.css
+../bin2obj$(EXEEXT):
+	$(MAKE) -C .. bin2obj$(EXEEXT)

+ 6 - 0
utils/fpdoc/Makefile.fpc

@@ -37,3 +37,9 @@ fpdoc$(EXEEXT): fpdoc.pp dglobals.pp dwriter.pp dw_xml.pp sh_pas.pp dw_html.pp\
   dw_latex.pp dwlinear.pp dw_txt.pp dw_linrtf.pp
   dw_latex.pp dwlinear.pp dw_txt.pp dw_linrtf.pp
 
 
 makeskel$(EXEEXT): makeskel.pp dglobals.pp
 makeskel$(EXEEXT): makeskel.pp dglobals.pp
+
+css.inc: fpdoc.css ../bin2obj$(EXEEXT)
+	../bin2obj$(EXEEXT) -o css.inc -c DefaultCSS fpdoc.css
+
+../bin2obj$(EXEEXT):
+	$(MAKE) -C .. bin2obj$(EXEEXT)

+ 136 - 0
utils/fpdoc/css.inc

@@ -0,0 +1,136 @@
+
+Const
+  DefaultCSS : Array[0..2254] of byte = (
+      47, 42, 10, 32, 32, 36, 73,100, 58, 32,102,112,100,111, 99, 46, 99,
+     115,115, 44,118, 32, 49, 46, 49, 32, 50, 48, 48, 51, 47, 48, 51, 47,
+      49, 55, 32, 50, 51, 58, 48, 51, 58, 50, 48, 32,109,105, 99,104, 97,
+     101,108, 32, 69,120,112, 32, 36, 10, 10, 32, 32, 68,101,102, 97,117,
+     108,116, 32,115,116,121,108,101, 32,115,104,101,101,116, 32,102,111,
+     114, 32, 70, 80, 68,111, 99, 32,114,101,102,101,114,101,110, 99,101,
+      32,100,111, 99,117,109,101,110,116, 97,116,105,111,110, 10, 32, 32,
+      98,121, 32, 83,101, 98, 97,115,116,105, 97,110, 32, 71,117,101,110,
+     116,104,101,114, 44, 32,115,103, 64,102,114,101,101,112, 97,115, 99,
+      97,108, 46,111,114,103, 10, 10, 32, 32, 70,101,101,108, 32,102,114,
+     101,101, 32,116,111, 32,117,115,101, 32,116,104,105,115, 32,102,105,
+     108,101, 32, 97,115, 32, 97, 32,116,101,109,112,108, 97,116,101, 32,
+     102,111,114, 32,121,111,117,114, 32,111,119,110, 32,115,116,121,108,
+     101, 32,115,104,101,101,116,115, 46, 10, 42, 47, 10, 10, 98,111,100,
+     121, 32,123, 10, 32, 32, 98, 97, 99,107,103,114,111,117,110,100, 58,
+      32,119,104,105,116,101, 10,125, 10, 10, 98,111,100,121, 44, 32,112,
+      44, 32,116,104, 44, 32,116,100, 44, 32, 99, 97,112,116,105,111,110,
+      44, 32,104, 49, 44, 32,104, 50, 44, 32,104, 51, 44, 32,117,108, 44,
+      32,111,108, 44, 32,100,108, 32,123, 10, 32, 32, 99,111,108,111,114,
+      58, 32, 98,108, 97, 99,107, 59, 10, 32, 32,102,111,110,116, 45,102,
+      97,109,105,108,121, 58, 32,115, 97,110,115, 45,115,101,114,105,102,
+      10,125, 10, 10,116,116, 44, 32,115,112, 97,110, 46,107,119, 44, 32,
+     112,114,101, 32,123, 10, 32, 32,102,111,110,116, 45,102, 97,109,105,
+     108,121, 58, 32, 67,111,117,114,105,101,114, 44, 32,109,111,110,111,
+     115,112, 97, 99,101, 10,125, 10, 10, 98,111,100,121, 44, 32,112, 44,
+      32,116,104, 44, 32,116,100, 44, 32, 99, 97,112,116,105,111,110, 44,
+      32,117,108, 44, 32,111,108, 44, 32,100,108, 44, 32,116,116, 44, 32,
+     115,112, 97,110, 46,107,119, 44, 32,112,114,101, 32,123, 10, 32, 32,
+     102,111,110,116, 45,115,105,122,101, 58, 32, 49, 52,112,120, 10,125,
+      10, 10, 65, 58,108,105,110,107, 32,123, 10, 32, 32, 99,111,108,111,
+     114, 58, 32, 98,108,117,101, 10,125, 10, 10, 65, 58,118,105,115,105,
+     116,101,100, 32,123, 10, 32, 32, 99,111,108,111,114, 58, 32,100, 97,
+     114,107, 98,108,117,101, 10,125, 10, 10, 65, 58, 97, 99,116,105,118,
+     101, 32,123, 10, 32, 32, 99,111,108,111,114, 58, 32,114,101,100, 10,
+     125, 10, 10, 65, 32,123, 10, 32, 32,116,101,120,116, 45,100,101, 99,
+     111,114, 97,116,105,111,110, 58, 32,110,111,110,101, 10,125, 10, 10,
+      65, 58,104,111,118,101,114, 32,123, 10, 32, 32,116,101,120,116, 45,
+     100,101, 99,111,114, 97,116,105,111,110, 58, 32,117,110,100,101,114,
+     108,105,110,101, 10,125, 10, 10,104, 49, 44, 32,104, 50, 44, 32,116,
+     100, 46,104, 50, 32,123, 10, 32, 32, 99,111,108,111,114, 58, 32, 35,
+      48, 48, 53, 65, 57, 67, 10,125, 10, 10, 47, 42, 32, 69,115,112,101,
+      99,105, 97,108,108,121, 32,102,111,114, 32, 78,101,116,115, 99, 97,
+     112,101, 32,111,110, 32, 76,105,110,117,120, 58, 32, 42, 47, 10,104,
+      51, 44, 32,116,100, 46,104, 51, 32,123, 10, 32, 32,102,111,110,116,
+      45,115,105,122,101, 58, 32, 49, 50,112,116, 10,125, 10, 10, 47, 42,
+      32,115,111,117,114, 99,101, 32,102,114, 97,103,109,101,110,116,115,
+      32, 42, 47, 10,115,112, 97,110, 46, 99,111,100,101, 32,123, 10, 32,
+      32,119,104,105,116,101, 45,115,112, 97, 99,101, 58, 32,110,111,119,
+     114, 97,112, 10,125, 10, 10, 47, 42, 32,115,121,109, 98,111,108,115,
+      32,105,110, 32,115,111,117,114, 99,101, 32,102,114, 97,103,109,101,
+     110,116,115, 32, 42, 47, 10,115,112, 97,110, 46,115,121,109, 32,123,
+      10, 32, 32, 99,111,108,111,114, 58, 32,100, 97,114,107,114,101,100,
+      10,125, 10, 10, 47, 42, 32,107,101,121,119,111,114,100,115, 32,105,
+     110, 32,115,111,117,114, 99,101, 32,102,114, 97,103,109,101,110,116,
+     115, 32, 42, 47, 10,115,112, 97,110, 46,107,119, 32,123, 10, 32, 32,
+     102,111,110,116, 45,119,101,105,103,104,116, 58, 32, 98,111,108,100,
+      10,125, 10, 10, 47, 42, 32, 99,111,109,109,101,110,116,115, 32,105,
+     110, 32,115,111,117,114, 99,101, 32,102,114, 97,103,109,101,110,116,
+     115, 32, 42, 47, 10,115,112, 97,110, 46, 99,109,116, 32,123, 10, 32,
+      32, 99,111,108,111,114, 58, 32,100, 97,114,107, 99,121, 97,110, 59,
+      10, 32, 32,102,111,110,116, 45,115,116,121,108,101, 58, 32,105,116,
+      97,108,105, 99, 10,125, 10, 10, 47, 42, 32,100,105,114,101, 99,116,
+     105,118,101,115, 32,105,110, 32,115,111,117,114, 99,101, 32,102,114,
+      97,103,109,101,110,116,115, 32, 42, 47, 10,115,112, 97,110, 46,100,
+     105,114, 32,123, 10, 32, 32, 99,111,108,111,114, 58, 32,100, 97,114,
+     107,121,101,108,108,111,119, 59, 10, 32, 32,102,111,110,116, 45,115,
+     116,121,108,101, 58, 32,105,116, 97,108,105, 99, 10,125, 10, 10, 47,
+      42, 32,110,117,109, 98,101,114,115, 32,105,110, 32,115,111,117,114,
+      99,101, 32,102,114, 97,103,109,101,110,116,115, 32, 42, 47, 10,115,
+     112, 97,110, 46,110,117,109, 32,123, 10, 32, 32, 99,111,108,111,114,
+      58, 32,100, 97,114,107,109, 97,103,101,110,116, 97, 10,125, 10, 10,
+      47, 42, 32, 99,104, 97,114, 97, 99,116,101,114,115, 32, 40, 35, 46,
+      46, 46, 41, 32,105,110, 32,115,111,117,114, 99,101, 32,102,114, 97,
+     103,109,101,110,116,115, 32, 42, 47, 10,115,112, 97,110, 46, 99,104,
+     114, 32,123, 10, 32, 32, 99,111,108,111,114, 58, 32,100, 97,114,107,
+      99,121, 97,110, 10,125, 10, 10, 47, 42, 32,115,116,114,105,110,103,
+     115, 32,105,110, 32,115,111,117,114, 99,101, 32,102,114, 97,103,109,
+     101,110,116,115, 32, 42, 47, 10,115,112, 97,110, 46,115,116,114, 32,
+     123, 10, 32, 32, 99,111,108,111,114, 58, 32, 98,108,117,101, 10,125,
+      10, 10, 47, 42, 32, 97,115,115,101,109, 98,108,101,114, 32,112, 97,
+     115,115, 97,103,101,115, 32,105,110, 32,115,111,117,114, 99,101, 32,
+     102,114, 97,103,109,101,110,116,115, 32, 42, 47, 10,115,112, 97,110,
+      46, 97,115,109, 32,123, 10, 32, 32, 99,111,108,111,114, 58, 32,103,
+     114,101,101,110, 10,125, 10, 10, 10,116,100, 46,112,114,101, 32,123,
+      10, 32, 32,119,104,105,116,101, 45,115,112, 97, 99,101, 58, 32,112,
+     114,101, 10,125, 10, 10,112, 46, 99,109,116, 32,123, 10, 32, 32, 99,
+     111,108,111,114, 58, 32,103,114, 97,121, 10,125, 10, 10,115,112, 97,
+     110, 46,119, 97,114,110,105,110,103, 32,123, 10, 32, 32, 99,111,108,
+     111,114, 58, 32,114,101,100, 59, 10, 32, 32,102,111,110,116, 45,119,
+     101,105,103,104,116, 58, 32, 98,111,108,100, 10,125, 10, 10, 47, 42,
+      32, 33, 33, 33, 58, 32, 72,111,119, 32,115,104,111,117,108,100, 32,
+     119,101, 32,100,101,102,105,110,101, 32,116,104,105,115, 46, 46, 46,
+      63, 32, 42, 47, 10,115,112, 97,110, 46,102,105,108,101, 32,123, 10,
+      32, 32, 99,111,108,111,114, 58, 32,100, 97,114,107,103,114,101,101,
+     110, 10,125, 10, 10,116, 97, 98,108,101, 46,114,101,109, 97,114,107,
+      32,123, 10, 32, 32, 98, 97, 99,107,103,114,111,117,110,100, 45, 99,
+     111,108,111,114, 58, 32, 35,102,102,102,102, 99, 48, 59, 10,125, 10,
+      10,116, 97, 98,108,101, 46, 98, 97,114, 32,123, 10, 32, 32, 98, 97,
+      99,107,103,114,111,117,110,100, 45, 99,111,108,111,114, 58, 32, 35,
+      97, 48, 99, 48,102,102, 59, 10,125, 10, 10,115,112, 97,110, 46, 98,
+      97,114,116,105,116,108,101, 32,123, 10, 32, 32,102,111,110,116, 45,
+     119,101,105,103,104,116, 58, 32, 98,111,108,100, 59, 10, 32, 32,102,
+     111,110,116, 45,115,116,121,108,101, 58, 32,105,116, 97,108,105, 99,
+      59, 10, 32, 32, 99,111,108,111,114, 58, 32,100, 97,114,107, 98,108,
+     117,101, 10,125, 10, 10,115,112, 97,110, 46,102,111,111,116,101,114,
+      32,123, 10, 32, 32,102,111,110,116, 45,115,116,121,108,101, 58, 32,
+     105,116, 97,108,105, 99, 59, 10, 32, 32, 99,111,108,111,114, 58, 32,
+     100, 97,114,107, 98,108,117,101, 10,125, 10, 10, 47, 42, 32,100,101,
+     102,105,110,105,116,105,111,110, 32,108,105,115,116, 32, 42, 47, 10,
+     100,108, 32,123, 10, 32, 98,111,114,100,101,114, 58, 32, 51,112,120,
+      32,100,111,117, 98,108,101, 32, 35, 99, 99, 99, 59, 10, 32,112, 97,
+     100,100,105,110,103, 58, 32, 48, 46, 53,101,109, 59, 10,125, 10, 10,
+      47, 42, 32,100,101,102,105,110,105,116,105,111,110, 32,108,105,115,
+     116, 58, 32,116,101,114,109, 32, 42, 47, 10,100,116, 32,123, 10, 32,
+     102,108,111, 97,116, 58, 32,108,101,102,116, 59, 10, 32, 99,108,101,
+      97,114, 58, 32,108,101,102,116, 59, 10, 32,119,105,100,116,104, 58,
+      32, 97,117,116,111, 59, 32, 47, 42, 32,110,111,114,109, 97,108,108,
+     121, 32, 98,114,111,119,115,101,114,115, 32,100,101,102, 97,117,108,
+     116, 32,119,105,100,116,104, 32,111,102, 32,108, 97,114,103,101,115,
+     116, 32,105,116,101,109, 32, 42, 47, 10, 32,112, 97,100,100,105,110,
+     103, 45,114,105,103,104,116, 58, 32, 50, 48,112,120, 59, 10, 32,102,
+     111,110,116, 45,119,101,105,103,104,116, 58, 32, 98,111,108,100, 59,
+      10, 32, 99,111,108,111,114, 58, 32,100, 97,114,107,103,114,101,101,
+     110, 59, 10,125, 10, 10, 47, 42, 32,100,101,102,105,110,105,116,105,
+     111,110, 32,108,105,115,116, 58, 32,100,101,115, 99,114,105,112,116,
+     105,111,110, 32, 42, 47, 10,100,100, 32,123, 10, 32,109, 97,114,103,
+     105,110, 58, 32, 48, 32, 48, 32, 48, 32, 49, 49, 48,112,120, 59, 10,
+      32,112, 97,100,100,105,110,103, 58, 32, 48, 32, 48, 32, 48, 46, 53,
+     101,109, 32, 48, 59, 10,125, 10, 10, 47, 42, 32,102,111,114, 32, 98,
+     114,111,119,115,101,114,115, 32,105,110, 32,115,116, 97,110,100, 97,
+     114,100,115, 32, 99,111,109,112,108,105, 97,110, 99,101, 32,109,111,
+     100,101, 32, 42, 47, 10,116,100, 32,112, 32,123, 10, 32, 32,109, 97,
+     114,103,105,110, 58, 32, 48, 59, 10,125, 10);

+ 26 - 8
utils/fpdoc/dw_html.pp

@@ -116,6 +116,7 @@ type
     FUseMenuBrackets: Boolean;
     FUseMenuBrackets: Boolean;
 
 
     Procedure CreateAllocator; virtual;
     Procedure CreateAllocator; virtual;
+    procedure CreateCSSFile; virtual;
     function ResolveLinkID(const Name: String): DOMString;
     function ResolveLinkID(const Name: String): DOMString;
     function ResolveLinkIDInUnit(const Name,AUnitName: String): DOMString;
     function ResolveLinkIDInUnit(const Name,AUnitName: String): DOMString;
     function ResolveLinkWithinPackage(AElement: TPasElement;
     function ResolveLinkWithinPackage(AElement: TPasElement;
@@ -285,6 +286,7 @@ implementation
 
 
 uses SysUtils, XHTML, XMLRead, XMLWrite, HTMWrite, sh_pas,chmsitemap;
 uses SysUtils, XHTML, XMLRead, XMLWrite, HTMWrite, sh_pas,chmsitemap;
 
 
+{$i css.inc}
 
 
 Function FixHTMLpath(S : String) : STring;
 Function FixHTMLpath(S : String) : STring;
 
 
@@ -730,12 +732,12 @@ begin
   end;
   end;
 end;
 end;
 
 
+
 procedure THTMLWriter.WriteHTMLPages;
 procedure THTMLWriter.WriteHTMLPages;
 var
 var
   i: Integer;
   i: Integer;
   PageDoc: TXMLDocument;
   PageDoc: TXMLDocument;
   Filename: String;
   Filename: String;
-  TempStream: TMemoryStream;
 
 
 begin
 begin
   if Engine.Output <> '' then
   if Engine.Output <> '' then
@@ -757,18 +759,34 @@ begin
         PageDoc.Free;
         PageDoc.Free;
       end;
       end;
     end;
     end;
+  CreateCSSFile;
+end;
 
 
-  if FCSSFile <> '' then
-  begin
-    if not FileExists(FCSSFile) Then
+procedure THTMLWriter.CreateCSSFile;
+
+Var
+  TempStream: TMemoryStream;
+
+begin
+  TempStream := TMemoryStream.Create;
+  try
+    if (FCSSFile<>'') then
       begin
       begin
+      if not FileExists(FCSSFile) then
+        begin
         DoLog('Can''t find CSS file "%s"',[FCSSFILE]);
         DoLog('Can''t find CSS file "%s"',[FCSSFILE]);
         halt(1);
         halt(1);
+        end;
+      TempStream.LoadFromFile(FCSSFile);
+      end
+    else
+      begin
+      DoLog('Using built-in CSS file',[]);
+      TempStream.WriteBuffer(DefaultCSS,SizeOf(DefaultCSS));
       end;
       end;
-    TempStream := TMemoryStream.Create;
-    TempStream.LoadFromFile(FCSSFile);
-    TempStream.Position := 0;
-    TempStream.SaveToFile(Engine.output+ExtractFileName(FCSSFile));
+   TempStream.Position := 0;
+   TempStream.SaveToFile(Engine.output+'fpdoc.css');
+  finally
     TempStream.Free;
     TempStream.Free;
   end;
   end;
 end;
 end;