Ver código fonte

fixes: gh-1786 Added creation of PDF docs to CMake.

WIP: automation of Documentation building from cmake.

The first commmit here includes the creation of PDF's only.

Workflow:

1. Generate relative link cleaner xsl.
2. Use xsltproc to clean relative links for cmake based out of source builds.
3. Use xsltproc to process cleaned source with docbook to create FO.
4. Use apache fop to process FO into pdf.

TODO:
- Force all docs to build on a single target of `make docs`. Currently only docs that are not in a subdirectory are on this target.
- Add in cmake steps to build only docs and disable the rest of the tree. MAKE_DOCS_ONLY=ON
- Add in HTML and CHM generation.
- Add in package steps to allow for optional package creation along side the binary package.

WIP: change to handling of documentation global target to all for "make docs"

WIP: fixed version file usage.

WIP: more doc gen changes.

WIP: more changes.

WIP: doc dir moves.

WIP: doc CMake files along with xslt clean up.

WIP: finalized pdf generation from cmake.

todo:
- MAKE_DOCS_ONLY
- Doc package generation. (generate CMake files for creating package)

WIP: Fixed overflow issues with HPCCClientTools pdf.

WIP: moved wip docs to a wip directory.

wip: added MAKE_DOCS_ONLY to allow only creation of docs with only
doc deps.
Philip Schwartz 13 anos atrás
pai
commit
c422961df1
100 arquivos alterados com 1185 adições e 2006 exclusões
  1. 20 17
      CMakeLists.txt
  2. 59 0
      cmake_modules/FindDOCBOOK.cmake
  3. 59 0
      cmake_modules/FindFOP.cmake
  4. 59 0
      cmake_modules/FindXSLTPROC.cmake
  5. 196 171
      cmake_modules/commonSetup.cmake
  6. 71 0
      docMacros.cmake
  7. 0 484
      docs/BuildFromSource.xml
  8. 4 0
      docs/BuildTools/CMakeLists.txt
  9. 0 30
      docs/BuildTools/catalog.xml
  10. 14 0
      docs/BuildTools/catalog.xml.in
  11. 1 1
      docs/BuildTools/fo.xsl
  12. 337 0
      docs/BuildTools/fo.xsl.in
  13. 29 0
      docs/BuildTools/relrem.xsl.in
  14. 9 0
      docs/BuildTools/xsltproc.cmake.in
  15. 68 0
      docs/CMakeLists.txt
  16. 0 1063
      docs/CommonItems.xml
  17. 19 0
      docs/ECLLanguageReference/CMakeLists.txt
  18. 240 240
      docs/ECLR.xml
  19. 0 0
      docs/ECLLanguageReference/ECLR_mods/AlienData-TypeStrucSpecial.xml
  20. 0 0
      docs/ECLLanguageReference/ECLR_mods/AlienData-TypeStruct.xml
  21. 0 0
      docs/ECLLanguageReference/ECLR_mods/Basics-ActionsandAttrib.xml
  22. 0 0
      docs/ECLLanguageReference/ECLR_mods/Basics-AttributeDef.xml
  23. 0 0
      docs/ECLLanguageReference/ECLR_mods/Basics-AttributeTypes.xml
  24. 0 0
      docs/ECLLanguageReference/ECLR_mods/Basics-AttributeVisibility.xml
  25. 0 0
      docs/ECLLanguageReference/ECLR_mods/Basics-Constants.xml
  26. 0 0
      docs/ECLLanguageReference/ECLR_mods/Basics-FieldandAttribute.xml
  27. 0 0
      docs/ECLLanguageReference/ECLR_mods/Basics-FunctionAttributes.xml
  28. 0 0
      docs/ECLLanguageReference/ECLR_mods/Basics-Overview.xml
  29. 0 0
      docs/ECLLanguageReference/ECLR_mods/Basics-RecordSetFiltring.xml
  30. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-ABS.xml
  31. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-ACOS.xml
  32. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-AGGREGATE.xml
  33. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-ALLNODES.xml
  34. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-APPLY.xml
  35. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-ASCII.xml
  36. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-ASIN.xml
  37. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-ASSERT.xml
  38. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-ASTRING.xml
  39. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-ATAN.xml
  40. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-ATAN2.xml
  41. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-AVE.xml
  42. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-BUILD.xml
  43. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-CASE.xml
  44. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-CHOOSE.xml
  45. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-CHOOSEN.xml
  46. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-CHOOSETS.xml
  47. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-CLUSTERSIZE.xml
  48. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-COMBINE.xml
  49. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-CORRELATION.xml
  50. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-COS.xml
  51. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-COSH.xml
  52. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-COUNT.xml
  53. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-COVARIANCE.xml
  54. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-CRON.xml
  55. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-DEDUP.xml
  56. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-DEFINE.xml
  57. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-DENORMALIZE.xml
  58. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-DISTRIBUTE.xml
  59. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-DISTRIBUTED.xml
  60. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-DISTRIBUTION.xml
  61. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-EBCDIC.xml
  62. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-ENTH.xml
  63. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-ERROR.xml
  64. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-EVALUATE.xml
  65. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-EVENT.xml
  66. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-EVENTEXTRA.xml
  67. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-EVENTNAME.xml
  68. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-EXISTS.xml
  69. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-EXP.xml
  70. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-FAIL.xml
  71. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-FAILCODE.xml
  72. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-FAILMESSAGE.xml
  73. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-FETCH.xml
  74. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-FROMUNICODE.xml
  75. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-FROMXML.xml
  76. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-GETENV.xml
  77. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-GLOBAL.xml
  78. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-GRAPH.xml
  79. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-GROUP.xml
  80. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-HASH.xml
  81. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-HASH32.xml
  82. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-HASH64.xml
  83. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-HASHCRC.xml
  84. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-HASHMD5.xml
  85. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-HAVING.xml
  86. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-IF.xml
  87. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-INTFORMAT.xml
  88. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-ISVALID.xml
  89. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-ITERATE.xml
  90. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-JOIN.xml
  91. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-KEYDIFF.xml
  92. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-KEYPATCH.xml
  93. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-KEYUNICODE.xml
  94. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-LENGTH.xml
  95. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-LIBRARY.xml
  96. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-LIMIT.xml
  97. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-LN.xml
  98. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-LOCAL.xml
  99. 0 0
      docs/ECLLanguageReference/ECLR_mods/BltInFunc-LOG.xml
  100. 0 0
      docs/ECLR_mods/BltInFunc-LOOP.xml

+ 20 - 17
CMakeLists.txt

@@ -110,23 +110,26 @@ include(${HPCC_SOURCE_DIR}/cmake_modules/optionDefaults.cmake)
 
 include(${HPCC_SOURCE_DIR}/cmake_modules/commonSetup.cmake)
 
-if ( CMAKE_SYSTEM MATCHES Linux )
-    add_subdirectory (initfiles)
-endif ()
-add_subdirectory (tools)
-add_subdirectory (common)
-add_subdirectory (dali)
-add_subdirectory (deploy)
-add_subdirectory (deployment)
-add_subdirectory (ecl)
-add_subdirectory (ecllibrary)
-add_subdirectory (esp)
-add_subdirectory (plugins)
-add_subdirectory (roxie)
-add_subdirectory (rtl)
-add_subdirectory (services)
-add_subdirectory (system)
-add_subdirectory (thorlcr)
+if ( NOT MAKE_DOCS_ONLY )
+    if ( CMAKE_SYSTEM MATCHES Linux )
+        add_subdirectory (initfiles)
+    endif ()
+    add_subdirectory (tools)
+    add_subdirectory (common)
+    add_subdirectory (dali)
+    add_subdirectory (deploy)
+    add_subdirectory (deployment)
+    add_subdirectory (ecl)
+    add_subdirectory (ecllibrary)
+    add_subdirectory (esp)
+    add_subdirectory (plugins)
+    add_subdirectory (roxie)
+    add_subdirectory (rtl)
+    add_subdirectory (services)
+    add_subdirectory (system)
+    add_subdirectory (thorlcr)
+endif()
+add_subdirectory (docs)
 
 ###
 ## CPack install and packaging setup.

+ 59 - 0
cmake_modules/FindDOCBOOK.cmake

@@ -0,0 +1,59 @@
+################################################################################
+#    Copyright (C) 2011 HPCC Systems.
+#
+#    All rights reserved. This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    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.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+################################################################################
+
+
+# - Try to find the xsltproc executable
+#
+#  XSLTPROC_FOUND - system has the xsltproc executable.
+#  XSLTPROC_EXECUTABLE - the runtime path of the xsltproc executable
+
+if (NOT XSLTPROC_FOUND)
+  IF (WIN32)
+    SET (xsltproc_n "xsltproc.exe")
+  ELSE()
+    SET (xsltproc_n "xsltproc")
+  ENDIF()
+
+  IF (NOT ${EXTERNALS_DIRECTORY} STREQUAL "")
+    IF (UNIX)
+      IF (${ARCH64BIT} EQUAL 1)
+        SET (osdir "linux64_gcc4.1.1")
+      ELSE()
+        SET (osdir "linux32_gcc4.1.1")
+      ENDIF()
+    ELSEIF(WIN32)
+      SET (osdir "lib")
+    ELSE()
+      SET (osdir "unknown")
+    ENDIF()
+    IF (NOT ("${osdir}" STREQUAL "unknown"))
+      FIND_PROGRAM(XSLTPROC_EXECUTABLE ${xsltproc_n} PATHS "${EXTERNALS_DIRECTORY}/xsltproc/${osdir}")
+    ENDIF() 
+  ENDIF()
+
+  if (USE_NATIVE_LIBRARIES)
+    # if we didn't find in externals, look in system include path
+    FIND_PROGRAM(XSLTPROC_EXECUTABLE ${xsltproc_n})
+  endif()
+
+  include(FindPackageHandleStandardArgs)
+  find_package_handle_standard_args(XSLTPROC DEFAULT_MSG
+    XSLTPROC_EXECUTABLE
+  )
+  MARK_AS_ADVANCED(XSLTPROC_EXECUTABLE)
+ENDIF()
+

+ 59 - 0
cmake_modules/FindFOP.cmake

@@ -0,0 +1,59 @@
+################################################################################
+#    Copyright (C) 2011 HPCC Systems.
+#
+#    All rights reserved. This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    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.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+################################################################################
+
+
+# - Try to find the fop executable
+#
+#  FOP_FOUND - system has the fop executable.
+#  FOP_EXECUTABLE - the runtime path of the fop executable
+
+if (NOT FOP_FOUND)
+  IF (WIN32)
+    SET (fop_n "fop.exe")
+  ELSE()
+    SET (fop_n "fop")
+  ENDIF()
+
+  IF (NOT ${EXTERNALS_DIRECTORY} STREQUAL "")
+    IF (UNIX)
+      IF (${ARCH64BIT} EQUAL 1)
+        SET (osdir "linux64_gcc4.1.1")
+      ELSE()
+        SET (osdir "linux32_gcc4.1.1")
+      ENDIF()
+    ELSEIF(WIN32)
+      SET (osdir "lib")
+    ELSE()
+      SET (osdir "unknown")
+    ENDIF()
+    IF (NOT ("${osdir}" STREQUAL "unknown"))
+      FIND_PROGRAM(FOP_EXECUTABLE ${fop_n} PATHS "${EXTERNALS_DIRECTORY}/xsltproc/${osdir}")
+    ENDIF() 
+  ENDIF()
+
+  if (USE_NATIVE_LIBRARIES)
+    # if we didn't find in externals, look in system include path
+    FIND_PROGRAM(FOP_EXECUTABLE ${fop_n})
+  endif()
+
+  include(FindPackageHandleStandardArgs)
+  find_package_handle_standard_args(FOP DEFAULT_MSG
+    FOP_EXECUTABLE
+  )
+  MARK_AS_ADVANCED(FOP_EXECUTABLE)
+ENDIF()
+

+ 59 - 0
cmake_modules/FindXSLTPROC.cmake

@@ -0,0 +1,59 @@
+################################################################################
+#    Copyright (C) 2011 HPCC Systems.
+#
+#    All rights reserved. This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    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.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+################################################################################
+
+
+# - Try to find the xsltproc executable
+#
+#  XSLTPROC_FOUND - system has the xsltproc executable.
+#  XSLTPROC_EXECUTABLE - the runtime path of the xsltproc executable
+
+if (NOT XSLTPROC_FOUND)
+  IF (WIN32)
+    SET (xsltproc_n "xsltproc.exe")
+  ELSE()
+    SET (xsltproc_n "xsltproc")
+  ENDIF()
+
+  IF (NOT ${EXTERNALS_DIRECTORY} STREQUAL "")
+    IF (UNIX)
+      IF (${ARCH64BIT} EQUAL 1)
+        SET (osdir "linux64_gcc4.1.1")
+      ELSE()
+        SET (osdir "linux32_gcc4.1.1")
+      ENDIF()
+    ELSEIF(WIN32)
+      SET (osdir "lib")
+    ELSE()
+      SET (osdir "unknown")
+    ENDIF()
+    IF (NOT ("${osdir}" STREQUAL "unknown"))
+      FIND_PROGRAM(XSLTPROC_EXECUTABLE ${xsltproc_n} PATHS "${EXTERNALS_DIRECTORY}/xsltproc/${osdir}")
+    ENDIF() 
+  ENDIF()
+
+  if (USE_NATIVE_LIBRARIES)
+    # if we didn't find in externals, look in system include path
+    FIND_PROGRAM(XSLTPROC_EXECUTABLE ${xsltproc_n})
+  endif()
+
+  include(FindPackageHandleStandardArgs)
+  find_package_handle_standard_args(XSLTPROC DEFAULT_MSG
+    XSLTPROC_EXECUTABLE
+  )
+  MARK_AS_ADVANCED(XSLTPROC_EXECUTABLE)
+ENDIF()
+

+ 196 - 171
cmake_modules/commonSetup.cmake

@@ -40,6 +40,7 @@ IF ("${COMMONSETUP_DONE}" STREQUAL "")
 
   cmake_policy ( SET CMP0011 NEW )
 
+
   option(USE_BINUTILS "Enable use of binutils to embed workunit info into dhard objects" ON)
   option(USE_CPPUNIT "Enable unit tests (requires cppunit)" OFF)
   option(USE_OPENLDAP "Enable OpenLDAP support (requires OpenLDAP)" ON)
@@ -53,6 +54,11 @@ IF ("${COMMONSETUP_DONE}" STREQUAL "")
   option(CHECK_GIT_TAG "Require git tag to match the generated build tag" OFF)
   option(USE_XALAN "Configure use of xalan" ON)
   option(USE_LIBXSLT "Configure use of libxslt" OFF)
+  option(MAKE_DOCS "Create documentation at build time." OFF)
+  option(MAKE_DOCS_ONLY "Create a base build with only docs." OFF)
+  option(DOCS_DRUPAL "Create Drupal HTML Docs" OFF)
+  option(DOCS_EPUB "Create EPUB Docs" OFF)
+  option(DOCS_MOBI "Create Mobi Docs" OFF)
   
   if ( USE_XALAN AND USE_LIBXSLT )
       set(USE_XALAN OFF)
@@ -64,14 +70,16 @@ IF ("${COMMONSETUP_DONE}" STREQUAL "")
       set(USE_XERCES ON)
   endif()
   
+  if ( MAKE_DOCS_ONLY )
+      set( MAKE_DOCS ON )
+  endif()
+  
   option(PORTALURL "Set url to hpccsystems portal download page")
 
   if ( NOT PORTALURL )
     set( PORTALURL "http://hpccsystems.com/download" )
   endif()
 
-  set(CMAKE_MODULE_PATH "${HPCC_SOURCE_DIR}/cmake_modules")
-
   ##########################################################
 
   # common compiler/linker flags
@@ -175,184 +183,201 @@ IF ("${COMMONSETUP_DONE}" STREQUAL "")
     message ("-- Using externals directory at ${EXTERNALS_DIRECTORY}")
   endif()
 
-  IF ("${EXTERNALS_DIRECTORY}" STREQUAL "")
-    SET(bisoncmd "bison")
-    SET(flexcmd "flex")
-  ELSE()
-    IF (WIN32)
-      SET(bisoncmdprefix "call")
-      SET(flexcmdprefix "call")
-      SET(bisoncmd "${EXTERNALS_DIRECTORY}\\bison\\bison.bat")
-      SET(flexcmd "${EXTERNALS_DIRECTORY}\\bison\\flex.bat")
-    ELSE ()
-      SET(bisoncmd "${EXTERNALS_DIRECTORY}/bison/bison")
-      SET(flexcmd "${EXTERNALS_DIRECTORY}/bison/flex")
-    ENDIF()
-  ENDIF()
-
-  IF ("${BISON_VERSION}" STREQUAL "")
-    IF (WIN32)
-      # cmake bug workaround - it converts path separators fine in add_custom_command but not here
-      STRING(REPLACE "/" "\\" BISON_exename "${bisoncmd}")  
-    ELSE()
-      SET(BISON_exename "${bisoncmd}")  
-    ENDIF()
-    EXECUTE_PROCESS(COMMAND ${BISON_exename} --version
-      OUTPUT_VARIABLE BISON_version_output
-      ERROR_VARIABLE BISON_version_error
-      RESULT_VARIABLE BISON_version_result
-      OUTPUT_STRIP_TRAILING_WHITESPACE)
-    STRING(REGEX REPLACE "^[^0-9]*([0-9.]+).*" "\\1" BISON_VERSION "${BISON_version_output}")
-  ENDIF()
-
-  IF ("${FLEX_VERSION}" STREQUAL "")
-    IF (WIN32)
-      # cmake bug workaround - it converts path separators fine in add_custom_command but not here
-      STRING(REPLACE "/" "\\" FLEX_exename "${flexcmd}")  
-    ELSE()
-      SET(FLEX_exename "${flexcmd}")  
+  IF ( NOT MAKE_DOCS_ONLY )
+      IF ("${EXTERNALS_DIRECTORY}" STREQUAL "")
+        SET(bisoncmd "bison")
+        SET(flexcmd "flex")
+      ELSE()
+        IF (WIN32)
+          SET(bisoncmdprefix "call")
+          SET(flexcmdprefix "call")
+          SET(bisoncmd "${EXTERNALS_DIRECTORY}\\bison\\bison.bat")
+          SET(flexcmd "${EXTERNALS_DIRECTORY}\\bison\\flex.bat")
+        ELSE ()
+          SET(bisoncmd "${EXTERNALS_DIRECTORY}/bison/bison")
+          SET(flexcmd "${EXTERNALS_DIRECTORY}/bison/flex")
+        ENDIF()
+      ENDIF()
+
+      IF ("${BISON_VERSION}" STREQUAL "")
+        IF (WIN32)
+          # cmake bug workaround - it converts path separators fine in add_custom_command but not here
+          STRING(REPLACE "/" "\\" BISON_exename "${bisoncmd}")  
+        ELSE()
+          SET(BISON_exename "${bisoncmd}")  
+        ENDIF()
+        EXECUTE_PROCESS(COMMAND ${BISON_exename} --version
+          OUTPUT_VARIABLE BISON_version_output
+          ERROR_VARIABLE BISON_version_error
+          RESULT_VARIABLE BISON_version_result
+          OUTPUT_STRIP_TRAILING_WHITESPACE)
+        STRING(REGEX REPLACE "^[^0-9]*([0-9.]+).*" "\\1" BISON_VERSION "${BISON_version_output}")
+      ENDIF()
+
+      IF ("${FLEX_VERSION}" STREQUAL "")
+        IF (WIN32)
+          # cmake bug workaround - it converts path separators fine in add_custom_command but not here
+          STRING(REPLACE "/" "\\" FLEX_exename "${flexcmd}")  
+        ELSE()
+          SET(FLEX_exename "${flexcmd}")  
+        ENDIF()
+        EXECUTE_PROCESS(COMMAND ${FLEX_exename} --version
+          OUTPUT_VARIABLE FLEX_version_output
+          ERROR_VARIABLE FLEX_version_error
+          RESULT_VARIABLE FLEX_version_result
+          OUTPUT_STRIP_TRAILING_WHITESPACE)
+        STRING(REGEX REPLACE "^[^0-9]*([0-9.]+).*" "\\1" FLEX_VERSION "${FLEX_version_output}")
+      ENDIF()
+
+      IF ("${BISON_VERSION}" VERSION_LESS "2.4.1")
+        MESSAGE(FATAL_ERROR "You need bison version 2.4.1 or later to build this project (version ${BISON_VERSION} detected)")
+      ENDIF()
+
+      IF ("${FLEX_VERSION}" VERSION_LESS "2.5.35")
+        MESSAGE(FATAL_ERROR "You need flex version 2.5.35 or later to build this project (version ${FLEX_VERSION} detected)")
+      ENDIF()
+
+      IF (CMAKE_COMPILER_IS_GNUCXX)
+        EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GNUCXX_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
+        IF ("${GNUCXX_VERSION}" VERSION_LESS "4.1.1")
+          MESSAGE(FATAL_ERROR "You need Gnu c++ version 4.1.1 or later to build this project (version ${GNUCXX_VERSION} detected)")
+        ENDIF()
+      ENDIF()
     ENDIF()
-    EXECUTE_PROCESS(COMMAND ${FLEX_exename} --version
-      OUTPUT_VARIABLE FLEX_version_output
-      ERROR_VARIABLE FLEX_version_error
-      RESULT_VARIABLE FLEX_version_result
-      OUTPUT_STRIP_TRAILING_WHITESPACE)
-    STRING(REGEX REPLACE "^[^0-9]*([0-9.]+).*" "\\1" FLEX_VERSION "${FLEX_version_output}")
-  ENDIF()
-
-  IF ("${BISON_VERSION}" VERSION_LESS "2.4.1")
-    MESSAGE(FATAL_ERROR "You need bison version 2.4.1 or later to build this project (version ${BISON_VERSION} detected)")
-  ENDIF()
-
-  IF ("${FLEX_VERSION}" VERSION_LESS "2.5.35")
-    MESSAGE(FATAL_ERROR "You need flex version 2.5.35 or later to build this project (version ${FLEX_VERSION} detected)")
-  ENDIF()
-
-  IF (CMAKE_COMPILER_IS_GNUCXX)
-    EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GNUCXX_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
-    IF ("${GNUCXX_VERSION}" VERSION_LESS "4.1.1")
-      MESSAGE(FATAL_ERROR "You need Gnu c++ version 4.1.1 or later to build this project (version ${GNUCXX_VERSION} detected)")
-    ENDIF()
-  ENDIF()
-
   ###########################################################################
 
   # External library setup - some can be optionally selected based on USE_xxx flags, some are required
 
-  IF (USE_BINUTILS AND NOT WIN32)
-    find_package(BINUTILS)
-    IF (BINUTILS_FOUND)
-      add_definitions (-D_USE_BINUTILS)
-    ELSE()
-      message(FATAL_ERROR "BINUTILS requested but package not found")
-    ENDIF()
-  ENDIF()
-
-  IF (USE_OPENLDAP)
-    find_package(OPENLDAP)
-    IF (OPENLDAP_FOUND)
-      add_definitions (-D_USE_OPENLDAP)
+  IF (MAKE_DOCS)
+    find_package(XSLTPROC)
+    IF (XSLTPROC_FOUND)
+      add_definitions (-D_USE_XSLTPROC)
     ELSE()
-      message(FATAL_ERROR "OPENLDAP requested but package not found")
+      message(FATAL_ERROR "XSLTPROC requested but package not found")
     ENDIF()
-  ENDIF(USE_OPENLDAP)
-
-  IF (USE_CPPUNIT)
-    find_package(CPPUNIT)
-    IF (CPPUNIT_FOUND)
-      add_definitions (-D_USE_CPPUNIT)
-      include_directories(${CPPUNIT_INCLUDE_DIR})
+    find_package(FOP)
+    IF (FOP_FOUND)
+      add_definitions (-D_USE_FOP)
     ELSE()
-      message(FATAL_ERROR "CPPUNIT requested but package not found")
+      message(FATAL_ERROR "FOP requested but package not found")
     ENDIF()
-  ENDIF(USE_CPPUNIT)
-
-  IF (USE_ICU)
-    find_package(ICU)
-    IF (ICU_FOUND)
-      add_definitions (-D_USE_ICU)
-      include_directories(${ICU_INCLUDE_DIR})
-    ELSE()
-      message(FATAL_ERROR "ICU requested but package not found")
-    ENDIF()
-  ENDIF(USE_ICU)
-
-  if(USE_XALAN)
-    find_package(XALAN)
-    if (XALAN_FOUND)
-      add_definitions (-D_USE_XALAN)
-    else()
-      message(FATAL_ERROR "XALAN requested but package not found")
-    endif()
-  endif(USE_XALAN)
-  
-  if(USE_LIBXSLT)  
-    find_package(LIBXSLT)
-    if (LIBXSLT_FOUND)
-      add_definitions (-D_USE_LIBSLT)
-    else()
-      message(FATAL_ERROR "LIBXSLT requested but package not found")
-    endif()
-  endif(USE_LIBXSLT)
-
-  if(USE_XERCES)
-    find_package(XERCES)
-    if (XERCES_FOUND)
-      add_definitions (-D_USE_XERCES)
-    else()
-      message(FATAL_ERROR "XERCES requested but package not found")
-    endif()
-  endif(USE_XERCES)
-  
-  if(USE_LIBXML2)
-    find_package(LIBXML2)
-    if (LIBXML2_FOUND)
-      add_definitions (-D_USE_LIBXML2)
-    else()
-      message(FATAL_ERROR "LIBXML2 requested but package not found")
-    endif()
-  endif(USE_LIBXML2)
-
-  if(USE_ZLIB)
-    find_package(ZLIB)
-    if (ZLIB_FOUND)
-      add_definitions (-D_USE_ZLIB)
-    else()
-      message(FATAL_ERROR "ZLIB requested but package not found")
-    endif()
-  endif(USE_ZLIB)
-
-  if(USE_BOOST_REGEX)
-    find_package(BOOST_REGEX)
-    if (BOOST_REGEX_FOUND)
-      add_definitions (-D_USE_BOOST_REGEX)
-    else()
-      message(FATAL_ERROR "BOOST_REGEX requested but package not found")
-    endif()
-  endif(USE_BOOST_REGEX)
-
-  if(USE_OPENSSL)
-    find_package(OPENSSL)
-    if (OPENSSL_FOUND)
-      add_definitions (-D_USE_OPENSSL)
-      include_directories(${OPENSSL_INCLUDE_DIR})
-      link_directories(${OPENSSL_LIBRARY_DIR})
-    else()
-      message(FATAL_ERROR "OPENSSL requested but package not found")
-    endif()
-  endif(USE_OPENSSL)
-
-  if(USE_MYSQL)
-    find_package(MYSQL)
-    if (MYSQL_FOUND)
-      add_definitions (-D_USE_MYSQL)
-    else()
-      message(FATAL_ERROR "MYSQL requested but package not found")
-    endif()
-  else()
-    add_definitions (-D_NO_MYSQL)
-  endif(USE_MYSQL)
-
+  ENDIF(MAKE_DOCS)
+
+  IF ( NOT MAKE_DOCS_ONLY )
+      IF (USE_BINUTILS AND NOT WIN32)
+        find_package(BINUTILS)
+        IF (BINUTILS_FOUND)
+          add_definitions (-D_USE_BINUTILS)
+        ELSE()
+          message(FATAL_ERROR "BINUTILS requested but package not found")
+        ENDIF()
+      ENDIF()
+
+      IF (USE_OPENLDAP)
+        find_package(OPENLDAP)
+        IF (OPENLDAP_FOUND)
+          add_definitions (-D_USE_OPENLDAP)
+        ELSE()
+          message(FATAL_ERROR "OPENLDAP requested but package not found")
+        ENDIF()
+      ENDIF(USE_OPENLDAP)
+
+      IF (USE_CPPUNIT)
+        find_package(CPPUNIT)
+        IF (CPPUNIT_FOUND)
+          add_definitions (-D_USE_CPPUNIT)
+          include_directories(${CPPUNIT_INCLUDE_DIR})
+        ELSE()
+          message(FATAL_ERROR "CPPUNIT requested but package not found")
+        ENDIF()
+      ENDIF(USE_CPPUNIT)
+
+      IF (USE_ICU)
+        find_package(ICU)
+        IF (ICU_FOUND)
+          add_definitions (-D_USE_ICU)
+          include_directories(${ICU_INCLUDE_DIR})
+        ELSE()
+          message(FATAL_ERROR "ICU requested but package not found")
+        ENDIF()
+      ENDIF(USE_ICU)
+
+      if(USE_XALAN)
+        find_package(XALAN)
+        if (XALAN_FOUND)
+          add_definitions (-D_USE_XALAN)
+        else()
+          message(FATAL_ERROR "XALAN requested but package not found")
+        endif()
+      endif(USE_XALAN)
+      
+      if(USE_LIBXSLT)  
+        find_package(LIBXSLT)
+        if (LIBXSLT_FOUND)
+          add_definitions (-D_USE_LIBSLT)
+        else()
+          message(FATAL_ERROR "LIBXSLT requested but package not found")
+        endif()
+      endif(USE_LIBXSLT)
+
+      if(USE_XERCES)
+        find_package(XERCES)
+        if (XERCES_FOUND)
+          add_definitions (-D_USE_XERCES)
+        else()
+          message(FATAL_ERROR "XERCES requested but package not found")
+        endif()
+      endif(USE_XERCES)
+      
+      if(USE_LIBXML2)
+        find_package(LIBXML2)
+        if (LIBXML2_FOUND)
+          add_definitions (-D_USE_LIBXML2)
+        else()
+          message(FATAL_ERROR "LIBXML2 requested but package not found")
+        endif()
+      endif(USE_LIBXML2)
+
+      if(USE_ZLIB)
+        find_package(ZLIB)
+        if (ZLIB_FOUND)
+          add_definitions (-D_USE_ZLIB)
+        else()
+          message(FATAL_ERROR "ZLIB requested but package not found")
+        endif()
+      endif(USE_ZLIB)
+
+      if(USE_BOOST_REGEX)
+        find_package(BOOST_REGEX)
+        if (BOOST_REGEX_FOUND)
+          add_definitions (-D_USE_BOOST_REGEX)
+        else()
+          message(FATAL_ERROR "BOOST_REGEX requested but package not found")
+        endif()
+      endif(USE_BOOST_REGEX)
+
+      if(USE_OPENSSL)
+        find_package(OPENSSL)
+        if (OPENSSL_FOUND)
+          add_definitions (-D_USE_OPENSSL)
+          include_directories(${OPENSSL_INCLUDE_DIR})
+          link_directories(${OPENSSL_LIBRARY_DIR})
+        else()
+          message(FATAL_ERROR "OPENSSL requested but package not found")
+        endif()
+      endif(USE_OPENSSL)
+
+      if(USE_MYSQL)
+        find_package(MYSQL)
+        if (MYSQL_FOUND)
+          add_definitions (-D_USE_MYSQL)
+        else()
+          message(FATAL_ERROR "MYSQL requested but package not found")
+        endif()
+      else()
+        add_definitions (-D_NO_MYSQL)
+      endif(USE_MYSQL)
+  ENDIF()
   ###########################################################################
   ###
   ## The following sets the install directories and names.

+ 71 - 0
docMacros.cmake

@@ -0,0 +1,71 @@
+
+MACRO(RUN_XSLTPROC _xsl _file _out _in_dir _out_dir )
+	STRING(REGEX REPLACE "([0-9a-z_-]*).xml" "\\1" _file_base "${_file}")
+	SET(_xsl ${_xsl})
+	SET(_file ${_file})
+	SET(_out ${_out})
+	SET(_in_dir ${_in_dir})
+	SET(_out_dir ${_out_dir})
+	IF( ${ARGC} EQUAL 6 )
+		SET(_xslt_target ${ARGN})
+		SET(xinclude "-xinclude")
+	ELSE()
+		SET(_xslt_target)
+		SET(xinclude)
+	ENDIF()
+	CONFIGURE_FILE(${HPCC_SOURCE_DIR}/docs/BuildTools/xsltproc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/${_out}.cmake @ONLY)
+	
+	ADD_CUSTOM_COMMAND(
+		COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/${_out}.cmake
+		OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_out}.sentinel
+		DEPENDS docbook-expand ${_xslt_target}
+		)
+		
+	ADD_CUSTOM_TARGET(${_out} DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_out}.sentinel)
+	
+ENDMACRO(RUN_XSLTPROC)
+
+MACRO(RUN_FOP _file _out)
+	ADD_CUSTOM_COMMAND(
+		COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/docs
+		COMMAND ${FOP_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/${_file} -pdf ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/docs/${_out} 
+		OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_out}.sentinel
+		DEPENDS ${_file}
+		)
+	ADD_CUSTOM_TARGET(${_out} DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_out}.sentinel ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/docs/${_out} )
+ENDMACRO(RUN_FOP)
+
+MACRO(CLEAN_REL_BOOK _file _version_dir _doc_dir _in_dir _out_dir)
+	STRING(REGEX REPLACE "([0-9a-z_-]*).xml" "\\1" _file_base "${_file}")
+	SET(_clean_target "clean_${_file}")
+	SET(VERSION_DIR ${_version_dir})
+	SET(ROOT "book")
+	CONFIGURE_FILE(${HPCC_SOURCE_DIR}/docs/BuildTools/relrem.xsl.in ${CMAKE_CURRENT_BINARY_DIR}/${_file_base}.xsl @ONLY)
+	RUN_XSLTPROC( ${CMAKE_CURRENT_BINARY_DIR}/${_file_base}.xsl ${_file} ${_file} ${_in_dir} ${_out_dir})
+	ADD_CUSTOM_TARGET( ${_clean_target} DEPENDS ${_in_dir}/${_file} ${_file})
+ENDMACRO(CLEAN_REL_BOOK)
+
+MACRO(CLEAN_REL_SET _file _version_dir _doc_dir _in_dir _out_dir)
+	STRING(REGEX REPLACE "([0-9a-z_-]*).xml" "\\1" _file_base "${_file}")
+	SET(_clean_target "clean_${_file}")
+	SET(VERSION_DIR ${_version_dir})
+	SET(ROOT "set")
+	CONFIGURE_FILE(${HPCC_SOURCE_DIR}/docs/BuildTools/relrem.xsl.in ${CMAKE_CURRENT_BINARY_DIR}/${_file_base}.xsl @ONLY)
+	RUN_XSLTPROC( ${CMAKE_CURRENT_BINARY_DIR}/${_file_base}.xsl ${_file} ${_file} ${_in_dir} ${_out_dir})
+	ADD_CUSTOM_TARGET( ${_clean_target} DEPENDS ${_in_dir}/${_file} ${_file})
+ENDMACRO(CLEAN_REL_SET)
+
+MACRO(DOCBOOK_TO_PDF _xsl _file _name)
+	IF(MAKE_DOCS)
+		STRING(REGEX REPLACE "([0-9a-z_-]*).xml" "\\1" _file_base "${_file}")
+		SET(_fo_file ${_file_base}.fo)
+		SET(_pdf_file ${_name}.pdf)
+		SET( _docs_target "doc_${_pdf_file}")  # File to Name of type.
+		CLEAN_REL_BOOK(${_file} ${VERSION_DIR} ${DOC_IMAGES} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
+		RUN_XSLTPROC(${_xsl} ${_file} ${_fo_file} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR} "clean_${_file}")
+		RUN_FOP(${_fo_file} ${_pdf_file})
+		MESSAGE("-- Adding document: ${_pdf_file} -  target: ${_docs_target}")
+		ADD_CUSTOM_TARGET(${_docs_target} ALL DEPENDS ${_pdf_file} ${CMAKE_CURRENT_BINARY_DIR}/${_file} ) 
+		set_property(GLOBAL APPEND PROPERTY DOC_TARGETS "${_docs_target}")
+	ENDIF(MAKE_DOCS)
+ENDMACRO(DOCBOOK_TO_PDF targetname_suffix srcfile outfile targetdir deps_list)

+ 0 - 484
docs/BuildFromSource.xml

@@ -1,484 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
-<book>
-  <bookinfo>
-    <title>Building from source</title>
-
-    <mediaobject>
-      <imageobject>
-        <imagedata fileref="images/redswooshWithLogo3.jpg" />
-      </imageobject>
-    </mediaobject>
-
-    <author>
-      <surname>Boca Raton Documentation Team</surname>
-    </author>
-
-    <legalnotice>
-      <para>We welcome your comments and feedback about this document via
-      email to <email>docfeedback@hpccsystems.com</email> Please include
-      <emphasis role="bold">Documentation Feedback</emphasis> in the subject
-      line and reference the document name, page numbers, and current Version
-      Number in the text of the message.</para>
-
-      <para>LexisNexis and the Knowledge Burst logo are registered trademarks
-      of Reed Elsevier Properties Inc., used under license. Other products,
-      logos, and services may be trademarks or registered trademarks of their
-      respective companies. All names and example data used in this manual are
-      fictitious. Any similarity to actual persons, living or dead, is purely
-      coincidental.</para>
-
-      <para></para>
-    </legalnotice>
-
-   <xi:include href="Version.xml" xpointer="FooterInfo"
-                xmlns:xi="http://www.w3.org/2001/XInclude" />
-
-
-   <xi:include href="Version.xml" xpointer="DateVer"
-                xmlns:xi="http://www.w3.org/2001/XInclude" />
-
-    <corpname>HPCC Systems</corpname>
-
-   <xi:include href="Version.xml" xpointer="FooterInfo"
-                xmlns:xi="http://www.w3.org/2001/XInclude" />
-
-
-    <mediaobject role="logo">
-      <imageobject>
-        <imagedata fileref="images/LN_Rightjustified.jpg" />
-      </imageobject>
-    </mediaobject>
-  </bookinfo>
-
-  <chapter id="Buildin-HPCC-from-Source">
-    <title>Building HPCC from source</title>
-
-    <sect1>
-      <title id="Introduction">Introduction</title>
-
-      <para>The LexisNexis HPCC technology is designed to effectively process,
-      analyze, and find links and associations within high volumes of complex
-      data. The LexisNexis HPCC technology can detect non-obvious
-      relationships, scale to support petabytes of data, and is significantly
-      faster than competing technologies while requiring less hardware and
-      resources.</para>
-
-      <para>This translates into better quality answers in less time so that
-      organizations can cope with massive data and turn information into
-      knowledge.</para>
-
-      <para>This document will show you how to obtain and build an HPCC system
-      using the open source model.</para>
-
-      <para>OUTLINE DRAFT: </para>
-
-      <para>Description: </para>
-
-      <para>------------ </para>
-
-      <para>This file is the top level handling for cmake based compilation
-      and build process. </para>
-
-      <para>To build for Linux: </para>
-
-      <para>1. Check out sources (for example, to directory ~/hpcc) </para>
-
-      <para>2. Create a build directory - either as a child of hpcc or
-      elsewhere </para>
-
-      <para>3. cd to the build directory </para>
-
-      <para>4a.To create makefiles to build native release version for local
-      machine, run cmake ~/hpcc </para>
-
-      <para>4b.To create makefiles to build native debug version, run cmake
-      -DCMAKE_BUILD_TYPE=Debug ~/hpcc </para>
-
-      <para>4c.To create makefiles to build 32-bit version from 64-bit host,
-      run cmake -DCMAKE_C_FLAGS:STRING="-m32 -march=i386"
-      -DCMAKE_CXX_FLAGS:STRING="-m32 -march=i386" ~/hpcc </para>
-
-      <para>5. To build the makefiles just created above, run make </para>
-
-      <para>6. Executables will be created in ./&lt;releasemode&gt;/bin and
-      ./&lt;releasemode&gt;/libs </para>
-
-      <para></para>
-
-      <para>To build for Windows: </para>
-
-      <para>1. Check out sources (for example, to directory c:\hpcc) </para>
-
-      <para>2. Create a build directory - either as a child of hpcc or
-      elsewhere </para>
-
-      <para>3. cd to the build directory </para>
-
-      <para>4. To create a Visual Studio project, run cmake c:\hpcc -G "Visual
-      Studio 9 2008" The sln file hpccsystems-platform.sln will be created in
-      the current directory, and will support debug and release targets
-      </para>
-
-      <para>5. To build the project, load the solution into the visual studio
-      IDE and build in the usual way. 6. Executables will be created in (for
-      example) c:\hpcc\bin\&lt;release_mode&gt; </para>
-
-      <para></para>
-    </sect1>
-  </chapter>
-
-  <chapter id="Hardware-and-Software-Requirements">
-    <title>Hardware and Software Requirements</title>
-
-    <para>The following section describes the various hardware and software
-    required in order to run the HPCC.</para>
-
-    <sect1 id="Switch">
-      <title>Switch</title>
-
-      <para>A significant component of HPCC is the infrastructure it runs on,
-      specifically the switch.</para>
-
-      <sect2 id="Switch-Requirements">
-        <title>Switch requirements</title>
-
-        <itemizedlist mark="square">
-          <listitem>
-            <para>Sufficient number of ports to allow all nodes to be
-            connected directly to it;</para>
-          </listitem>
-
-          <listitem>
-            <para>IGMP v.2 support</para>
-          </listitem>
-
-          <listitem>
-            <para>IGMP snooping support</para>
-          </listitem>
-        </itemizedlist>
-      </sect2>
-
-      <sect2 id="Switch-additional-recommend">
-        <title>Switch additional recommended features</title>
-
-        <para><itemizedlist mark="square">
-            <listitem>
-              <para>Non-blocking backplane</para>
-            </listitem>
-
-            <listitem>
-              <para>Low latency (under 35usec)</para>
-            </listitem>
-
-            <listitem>
-              <para>Layer 3 switching</para>
-            </listitem>
-
-            <listitem>
-              <para>Managed and monitored (SNMP is a plus)</para>
-            </listitem>
-
-            <listitem>
-              <para>Port channel (port bundling) support</para>
-            </listitem>
-          </itemizedlist></para>
-      </sect2>
-    </sect1>
-
-    <sect1 id="Nodes-Hardware">
-      <title>Nodes-Hardware</title>
-
-      <para>The HPCC can run as a single node system or a multi node
-      system.</para>
-
-      <sect2 id="Node-Mandatory-requirements">
-        <title>Node mandatory requirements</title>
-
-        <itemizedlist mark="square">
-          <listitem>
-            <para>Pentium 4 or newer CPU</para>
-          </listitem>
-
-          <listitem>
-            <para>64 bit</para>
-          </listitem>
-
-          <listitem>
-            <para>4GB RAM</para>
-          </listitem>
-
-          <listitem>
-            <para>one or two Hard Drives</para>
-          </listitem>
-
-          <listitem>
-            <para>1 GigE network interface</para>
-          </listitem>
-        </itemizedlist>
-      </sect2>
-
-      <sect2 id="Node-recommended-specifications">
-        <title>Node recommended specifications</title>
-
-        <para><itemizedlist mark="square">
-            <listitem>
-              <para>Nehalem Core i7 CPU</para>
-            </listitem>
-
-            <listitem>
-              <para>64 bit</para>
-            </listitem>
-
-            <listitem>
-              <para>12GB RAM</para>
-            </listitem>
-
-            <listitem>
-              <para>Two 15K RPM SAS Hard Drives (Roxie)</para>
-            </listitem>
-
-            <listitem>
-              <para>Two 7200K RPM SATA Hard Drives (Thor)</para>
-            </listitem>
-
-            <listitem>
-              <para>1 GigE network interface</para>
-            </listitem>
-
-            <listitem>
-              <para>PXE boot support in BIOS</para>
-            </listitem>
-
-            <listitem>
-              <para>Optionally 3 or more hard drives can be configured in a
-              RAID 5 container for increased performance</para>
-            </listitem>
-
-            <listitem>
-              <para>Optionally IPMI and KVM over IP support</para>
-            </listitem>
-          </itemizedlist></para>
-      </sect2>
-    </sect1>
-
-    <sect1 id="Nodes-Software">
-      <title>Nodes-Software</title>
-
-      <para>We recommend all nodes have identical operating systems and
-      packages installed. This significantly reduces variables when
-      troubleshooting.</para>
-
-      <sect2 id="Operating-System-Requirements">
-        <title>Operating System Requirements</title>
-
-        <para><itemizedlist mark="square">
-            <listitem>
-              <para>64 bit LINUX CentOS 5.4 or later</para>
-
-              <para>Or</para>
-
-              <para>LINUX Ubuntu 9.10 or later and Debian x.xx</para>
-            </listitem>
-          </itemizedlist></para>
-      </sect2>
-
-      <sect2 id="configuration-manager">
-        <title>Dependencies and packages</title>
-
-        <para>Running HPCC depends on having these required component packages
-        listed below installed on the system. For details of the commands
-        recommended for obtaining these packages, see Specific OS Software
-        Installation commands section in appendix of the GettingStarted
-        document.</para>
-
-        <itemizedlist mark="square">
-          <listitem>
-            <para>OpenLDAP 2.3.43 (base for CentOS 5.5)</para>
-          </listitem>
-
-          <listitem>
-            <para>OpenLDAP-devel 2.3.43 (base for CentOS 5.5)</para>
-          </listitem>
-
-          <listitem>
-            <para>libicu 3.6 (for CentOS 5.5)</para>
-
-            <para>libicu-3.6-5.11.4.i386.rpm</para>
-          </listitem>
-
-          <listitem>
-            <para>libicu-devel 3.6 (for CentOS 5.5)</para>
-          </listitem>
-
-          <listitem>
-            <para>m4 1.4.5 (for CentOS 5.5)</para>
-          </listitem>
-
-          <listitem>
-            <para>libtool 1.5.22 (for CentOS 5.5)</para>
-          </listitem>
-
-          <listitem>
-            <para>binutils-devel 2.17.50.0.6 (for CentOS 5.5)</para>
-          </listitem>
-
-          <listitem>
-            <para>bison 2.4.1 (source)</para>
-          </listitem>
-
-          <listitem>
-            <para>flex 2.5.35 (source)</para>
-          </listitem>
-
-          <listitem>
-            <para>The GNU Compiler Collection (GCC) with G++ support (required
-            only on the ECL Server node)</para>
-          </listitem>
-
-          <listitem>
-            <para>boost 1.44 (source)</para>
-          </listitem>
-
-          <listitem>
-            <para>boost-devel 1.44 (source)</para>
-          </listitem>
-
-          <listitem>
-            <para>Xalan-c 1.10.0 (rpm - fedora epel repository or via
-            source)</para>
-          </listitem>
-
-          <listitem>
-            <para>Xalan-c-devel 1.10.0 (rpm - fedora epel repository or via
-            source)</para>
-          </listitem>
-
-          <listitem>
-            <para>Xerces-c 2.7.0 (rpm - fedora epel repository or via
-            source)</para>
-          </listitem>
-
-          <listitem>
-            <para>Xerces-c-devel 2.7.0 (rpm - fedora epel repository or via
-            source)</para>
-          </listitem>
-        </itemizedlist>
-      </sect2>
-    </sect1>
-
-    <sect1 id="workstation-requirements">
-      <title>Workstation Requirements</title>
-
-      <itemizedlist>
-        <listitem>
-          <para>Running HPCC requires communicating with the system from your
-          workstation with a browser</para>
-
-          <para>You will need to use one of the supported web browsers with
-          Javascript enabled.</para>
-
-          <itemizedlist>
-            <listitem>
-              <para>Internet Explorer 7</para>
-            </listitem>
-
-            <listitem>
-              <para>Mozilla Firefox 3.5 or later</para>
-
-              <!--*** Add additional browsers when approved-->
-            </listitem>
-          </itemizedlist>
-
-          <para>If browser security is set to <emphasis
-          role="bold">High</emphasis>, you should add ECLWatch as a Trusted
-          Site to allow Javascript execution.</para>
-        </listitem>
-
-        <listitem>
-          <para>HPCC Client Tools (ECL IDE). See the ECLWatch web page to
-          download the Windows install set.</para>
-
-          <graphic fileref="images/GS_DownloadTools.png" />
-
-          <para></para>
-
-          <para>The Client tools were designed to run on Windows machines. See
-          the appendix for instructions on running them on Linux workstations
-          using Wine.</para>
-        </listitem>
-      </itemizedlist>
-    </sect1>
-  </chapter>
-
-  <chapter id="Getting_the_Source">
-    <title>Getting and Installing the Source</title>
-
-    <para>This part of the document will discuss ways to get the source code
-    and install it.</para>
-
-    <sect1>
-      <title>Sources of Source</title>
-
-      <para>The source code can be found on the LexisNexis Portal at ***link
-      to portal***. Register with the NIM*** site to be able to download the
-      source package.</para>
-
-      <para>The source package is in the form of a source tarfile. (.stgz)
-      download the file from the site to the machine where you wish to install
-      the HPCC.</para>
-
-      <para></para>
-    </sect1>
-
-    <sect1>
-      <title>Installing the Source files</title>
-
-      <para>Extract the source files into a working directory. You may want to
-      create a directory for the source files. You would also want to have a
-      directory for the binaries.</para>
-
-      <para>For instance, if we wanted to extract to /users/home/hpcc9 we
-      could issue the command:</para>
-
-      <para><programlisting>tar -xzvf hpcc.tar.gz –C /usr/home/hpcc9/
-</programlisting>This will be the directory of the source, here we would
-      create a directory for the binaries.</para>
-
-      <para><programlisting>mkdir cmake_build9
-</programlisting>Then from the new cmake_build9 directory, you can issue the
-      command:</para>
-
-      <para><programlisting>cmake /usr/home/hpcc9</programlisting>This will
-      give lots of messages and status as the process runs.</para>
-
-      <para>Once this process successfully completes, you can then issue the
-      command:<programlisting>make 
-</programlisting>Make will now build all the source files, this process is
-      automated to detect the platform you are running on. If its a red hat or
-      CentOS platform, it will create a .rpm file to install. If you are on
-      Ubuntu/Debian package it will generate a apt-get package.</para>
-
-      <para><!--*** The following section is just conjecture at this point, 
-because I do not fully understand what these commands do or what their purpose is... 
-*** sorry if this does not quite make sense.-->Another step in the process is
-      to make the install...</para>
-
-      <para><programlisting>make install
-</programlisting>This will make the installation file ***</para>
-
-      <para><!--*** See comments above!-->Another step in the process is to
-      make the package...</para>
-
-      <para><programlisting>make package
-</programlisting>This will package up the installation files ready to
-      redeploy***</para>
-
-      <para></para>
-
-      <para>Next steps: Get the GettingStarted document, and the Using Config
-      Manager document to configure your HPCC system.</para>
-    </sect1>
-  </chapter>
-</book>

+ 4 - 0
docs/BuildTools/CMakeLists.txt

@@ -0,0 +1,4 @@
+project(xsl-config)
+
+configure_file(fo.xsl.in ${CMAKE_CURRENT_BINARY_DIR}/fo.xsl)
+configure_file(catalog.xml.in ${CMAKE_CURRENT_BINARY_DIR}/catalog.xml)

+ 0 - 30
docs/BuildTools/catalog.xml

@@ -1,27 +1,6 @@
 <?xml version='1.0'?>
 <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="public">
 
-<!-- ...................................................................... -->
-<!-- XML Catalog data for DocBook XML V4.5 ................................ -->
-<!-- File catalog.xml ..................................................... -->
-
-<!-- Please direct all questions, bug reports, or suggestions for
-     changes to the docbook@lists.oasis-open.org mailing list. For more
-     information, see http://www.oasis-open.org/.
-  -->
-
-<!-- This is the catalog data file for DocBook V4.5. It is provided as
-     a convenience in building your own catalog files. You need not use
-     the filenames listed here, and need not use the filename method of
-     identifying storage objects at all.  See the documentation for
-     detailed information on the files associated with the DocBook DTD.
-     See XML Catalogs at http://www.oasis-open.org/committees/entity/ for
-     detailed information on supplying and using catalog data.
-  -->
-
-<!-- ...................................................................... -->
-<!-- DocBook driver file .................................................. -->
-
 <public publicId="-//OASIS//DTD DocBook XML V4.5//EN"
         uri="docbookx.dtd"/>
 
@@ -31,9 +10,6 @@
 <system systemId="http://docbook.org/xml/4.5/docbookx.dtd"
 	uri="docbookx.dtd"/>
 
-<!-- ...................................................................... -->
-<!-- DocBook modules ...................................................... -->
-
 <public publicId="-//OASIS//DTD DocBook CALS Table Model V4.5//EN"
         uri="calstblx.dtd"/>
 
@@ -58,9 +34,6 @@
 <public publicId="-//OASIS//ENTITIES DocBook Character Entities V4.5//EN"
         uri="dbcentx.mod"/>
 
-<!-- ...................................................................... -->
-<!-- ISO entity sets ...................................................... -->
-
 <public publicId="ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
         uri="isodia.ent"/>
 
@@ -118,7 +91,4 @@
 <public publicId="ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML"
         uri="isocyr2.ent"/>
 
-<!-- End of catalog data for DocBook XML V4.5 ............................. -->
-<!-- ...................................................................... -->
-
 </catalog>

+ 14 - 0
docs/BuildTools/catalog.xml.in

@@ -0,0 +1,14 @@
+<?xml version='1.0'?>
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system" >
+
+<group  prefer="public" >
+<rewriteSystem
+        systemIdStartString="http://www.oasis-open.org/docbook/xml/4.5/"
+        rewritePrefix="${DOCBOOK_RESOURCES}/docbook-xml/" />
+<rewriteURI
+        uriStartString="http://docbook.sourceforge.net/release/xsl/current/"
+        rewritePrefix="${DOCBOOK_RESOURCES}/docbook-xsl/" />
+
+</group> 
+
+</catalog>

+ 1 - 1
docs/BuildTools/fo.xsl

@@ -5,7 +5,7 @@
 
   <xsl:import href="../docbook-xsl/fo/profile-docbook.xsl"/>
   <xsl:import href="mytitlepage.xsl"/>
-
+<xsl:param name="img.src.path">../</xsl:param>
 <xsl:param name="admon.graphics" select="1"/>
 <xsl:param name="admon.graphics.path" select="icons"/>
 <xsl:param name="chapter.autolabel" select="0"/>  

+ 337 - 0
docs/BuildTools/fo.xsl.in

@@ -0,0 +1,337 @@
+<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format"
+                version='1.0'>
+
+<xsl:import href="${DOCBOOK_XSL}/fo/profile-docbook.xsl"/>
+<xsl:import href="${CMAKE_CURRENT_SOURCE_DIR}/mytitlepage.xsl"/>
+<xsl:param name="img.src.path">${DOC_IMAGES}</xsl:param>
+<xsl:param name="admon.graphics" select="1"/>
+<xsl:param name="admon.graphics.path" select="icons"/>
+<xsl:param name="chapter.autolabel" select="0"/>  
+<xsl:param name="shade.verbatim" select="1"/> 
+<!--xsl:param name="body.font.family" select="serif"/-->
+<xsl:param name="body.start.indent" select="0"/>
+<xsl:param name="callout.graphics" select="0"/>
+<xsl:param name="footer.column.widths" select="'0 3 0'"/>
+<!--xsl:param name="use.extensions" select="1"/-->
+<xsl:param name="fop1.extensions" select="1"/>
+<xsl:param name="generate.index" select="3"/>
+<xsl:param name="generate.section.toc.level" select="1"/>
+<xsl:param name="generate.toc">book toc</xsl:param>
+<xsl:param name="header.column.widths" select="'0 3 0'"/>
+<xsl:param name="paper.type" select="letter"/>
+<xsl:param name="profile.condition" select="int"/>
+<xsl:param name="qanda.inherit.numeration" select="0"/>
+<xsl:param name="section.autolabel" select="0"/>
+<!--xsl:param name="title.font.family" select="sans-serif"/-->
+<xsl:param name="toc.section.depth" select="1"/>
+
+<!--===========================SPECIAL_TOC_SAUCE======================-->
+<xsl:template name="page.number.format">
+  <xsl:param name="element" select="local-name(.)"/>
+  <xsl:choose>
+    <xsl:when test="$element = 'toc'">1</xsl:when>
+    <xsl:otherwise>1</xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+<xsl:template name="initial.page.number">
+  <xsl:param name="element" select="local-name(.)"/>
+  <xsl:param name="master-reference" select="''"/>
+
+  <!-- Select the first content that the stylesheet places
+       after the TOC -->
+  <xsl:variable name="first.book.content" 
+                select="ancestor::book/*[
+                          not(self::title or
+                              self::subtitle or
+                              self::titleabbrev or
+                              self::bookinfo or
+                              self::info or
+                              self::dedication or
+                              self::preface or
+                              self::toc or
+                              self::lot)][1]"/>
+  <xsl:choose>
+    <!-- double-sided output -->
+    <xsl:when test="$double.sided != 0">
+      <xsl:choose>
+        <xsl:when test="$element = 'toc'">auto-odd</xsl:when>
+        <xsl:when test="$element = 'book'">auto</xsl:when>
+        <!-- preface typically continues TOC roman numerals -->
+        <!-- Change page.number.format if not -->
+        <xsl:when test="$element = 'preface'">auto-odd</xsl:when>
+        <xsl:when test="($element = 'dedication' or $element = 'article') 
+                    and not(preceding::chapter
+                            or preceding::preface
+                            or preceding::appendix
+                            or preceding::article
+                            or preceding::dedication
+                            or parent::part
+                            or parent::reference)">auto</xsl:when>
+        <xsl:when test="generate-id($first.book.content) =
+                        generate-id(.)">auto</xsl:when>
+        <xsl:otherwise>auto-odd</xsl:otherwise>
+      </xsl:choose>
+    </xsl:when>
+
+    <!-- single-sided output -->
+    <xsl:otherwise>
+      <xsl:choose>
+        <xsl:when test="$element = 'toc'">auto</xsl:when>
+        <xsl:when test="$element = 'book'">1</xsl:when>
+        <xsl:when test="$element = 'preface'">auto</xsl:when>
+       <xsl:when test="($element = 'dedication' or $element = 'article') and
+                        not(preceding::chapter
+                            or preceding::preface
+                            or preceding::appendix
+                            or preceding::article
+                            or preceding::dedication
+                            or parent::part
+                            or parent::reference)">auto</xsl:when>
+        <xsl:when test="generate-id($first.book.content) =
+                        generate-id(.)">auto</xsl:when>
+        <xsl:otherwise>auto</xsl:otherwise>
+      </xsl:choose>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+<!--================ENDOFSPECIAL_tocSauce==============================-->
+
+
+<xsl:template match="processing-instruction('hard-pagebreak')">
+   <fo:block break-after='page'/>
+</xsl:template>
+  
+<xsl:template match="programlisting[@role='tab']">
+  <fo:block xsl:use-attribute-sets="monospace.verbatim.properties">
+   <xsl:attribute name="font-family">serif</xsl:attribute>
+   <xsl:attribute name="font-size">10pt</xsl:attribute>
+    <xsl:apply-templates/>
+  </fo:block>
+</xsl:template>
+
+<!--sans-serif-para-role-->
+<xsl:template match="para[@role='sans']">
+  <fo:block>
+   <xsl:attribute name="font-family">sans-serif</xsl:attribute>
+    <xsl:apply-templates/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="para[@role='wsig']">
+  <fo:block xsl:use-attribute-sets="monospace.verbatim.properties">
+      <xsl:attribute name="font-size">10pt</xsl:attribute>
+    <xsl:apply-templates/>
+  </fo:block>
+</xsl:template>
+<xsl:template match="programlisting[@role='wsig']">
+  <fo:block xsl:use-attribute-sets="monospace.verbatim.properties">
+      <xsl:attribute name="font-size">10pt</xsl:attribute>
+    <xsl:apply-templates/>
+  </fo:block>
+</xsl:template>
+
+<xsl:attribute-set name="monospace.verbatim.properties">
+ <xsl:attribute name="font-size">
+   0.83em
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level1.properties">
+ <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 2.525"></xsl:value-of>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+    <xsl:attribute name="color">#A91919</xsl:attribute>
+    <xsl:attribute name="text-decoration">underline</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level2.properties">
+    <xsl:attribute name="color">#A91919</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.level1.properties">
+  <xsl:attribute name="break-before">
+      <xsl:choose>
+        <xsl:when test="@role = 'nobrk'">auto</xsl:when>
+        <xsl:otherwise>page</xsl:otherwise>
+      </xsl:choose>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.level2.properties">
+   <xsl:attribute name="break-before">
+        <xsl:choose>
+            <xsl:when test="@role = 'brk'">page</xsl:when>
+            <xsl:otherwise>auto</xsl:otherwise>
+        </xsl:choose>
+   </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.level3.properties">
+   <xsl:attribute name="break-before">
+        <xsl:choose>
+            <xsl:when test="@role = 'brk'">page</xsl:when>
+            <xsl:otherwise>auto</xsl:otherwise>
+        </xsl:choose>
+   </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="header.content.properties">
+    <xsl:attribute name="font-family">
+       <xsl:value-of select="$title.font.family"></xsl:value-of>
+    </xsl:attribute>
+</xsl:attribute-set>
+<xsl:attribute-set name="footer.content.properties">
+    <xsl:attribute name="font-family">
+        <xsl:value-of select="$title.font.family"></xsl:value-of>
+    </xsl:attribute>
+</xsl:attribute-set>
+
+<!--chapter-title-attrib-set-->
+<xsl:attribute-set name="component.title.properties">
+    <xsl:attribute name="text-align">right</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:template name="footer.content">
+<xsl:param name="pageclass" select="''"/>
+<xsl:param name="sequence" select="''"/>
+<xsl:param name="position" select="''"/>
+<xsl:param name="gentext-key" select="''"/>
+      <xsl:choose>
+        <xsl:when test="$double.sided = 0 and $position='center'">
+	     <fo:block>
+		     <xsl:value-of select="ancestor-or-self::book/bookinfo/releaseinfo"/> 
+	     </fo:block>
+	     <fo:block>
+		     <fo:page-number/>
+	     </fo:block>
+	 </xsl:when>
+      </xsl:choose>
+ </xsl:template>
+    
+    <xsl:template name="header.content">
+    <xsl:param name="pageclass" select="body"/>
+    <xsl:param name="sequence" select="''"/>
+    <xsl:param name="position" select="''"/>
+    <xsl:param name="gentext-key" select="''"/>
+        <xsl:choose>
+      	   <xsl:when test="$pageclass = 'titlepage' and $position='center'">
+ 	             <!--IFC-HEADER-LOGIC-->
+ 	              <fo:block>
+ 	      	     		     <xsl:value-of select="ancestor-or-self::book/bookinfo/title"/> 
+ 	       	     </fo:block>
+     	   </xsl:when>
+           <xsl:when test="$pageclass = 'lot' and $position='center'">
+                     <!--TOC-HEADER-LOGIC-->
+	       	     <fo:block>
+	       		     <xsl:value-of select="ancestor-or-self::book/bookinfo/title"/> 
+	       	     </fo:block>
+	      	 
+    	   </xsl:when>
+
+    	   <xsl:when test="$double.sided = 0 and $position='center'">
+    	     <fo:block>
+    		     <xsl:value-of select="ancestor-or-self::book/bookinfo/title"/> 
+             </fo:block>
+             <fo:block>  
+             <xsl:apply-templates select="." mode="object.title.markup"/>
+	     </fo:block>
+	    </xsl:when>
+    	</xsl:choose>
+    </xsl:template>
+    
+ <!--VarListVariation-->
+ <xsl:template match="varlistentry/term">
+        <fo:inline font-family="sans-serif" font-weight="bold">
+          <xsl:apply-templates/>
+        </fo:inline>
+ </xsl:template>
+
+    
+
+<!--COLORING-TEMPLATES-->
+<xsl:template match="emphasis[@role='bluebold']">
+       <fo:inline color="blue"  font-weight="bold">
+         <xsl:apply-templates/>
+       </fo:inline>
+</xsl:template>
+
+<xsl:template match="emphasis[@role='blueital']">
+       <fo:inline color="blue"  font-style="italic">
+         <xsl:apply-templates/>
+       </fo:inline>
+</xsl:template>
+  
+<xsl:template match="emphasis[@role='blue']">
+       <fo:inline color="blue">
+         <xsl:apply-templates/>
+       </fo:inline>
+</xsl:template>
+
+<xsl:template match="emphasis[@role='redbold']">
+       <fo:inline color="red"  font-weight="bold">
+         <xsl:apply-templates/>
+       </fo:inline>
+</xsl:template>
+
+<xsl:template match="emphasis[@role='redital']">
+       <fo:inline color="red"  font-style="italic">
+         <xsl:apply-templates/>
+       </fo:inline>
+</xsl:template>
+    
+<xsl:template match="emphasis[@role='red']">
+       <fo:inline color="red">
+         <xsl:apply-templates/>
+       </fo:inline>
+</xsl:template>
+
+<xsl:template match="emphasis[@role='greenbold']">
+       <fo:inline color="green"  font-weight="bold">
+         <xsl:apply-templates/>
+       </fo:inline>
+</xsl:template>
+
+<xsl:template match="emphasis[@role='greenital']">
+       <fo:inline color="green"  font-style="italic">
+         <xsl:apply-templates/>
+       </fo:inline>
+</xsl:template>
+  
+<xsl:template match="emphasis[@role='green']">
+       <fo:inline color="green">
+         <xsl:apply-templates/>
+       </fo:inline>
+</xsl:template>
+
+<xsl:template match="emphasis[@role='whitebold']">
+       <fo:inline color="white"  font-weight="bold">
+         <xsl:apply-templates/>
+       </fo:inline>
+</xsl:template>
+
+<xsl:template match="emphasis[@role='whiteital']">
+       <fo:inline color="white"  font-style="italic">
+         <xsl:apply-templates/>
+       </fo:inline>
+</xsl:template>
+  
+<xsl:template match="emphasis[@role='white']">
+       <fo:inline color="white">
+         <xsl:apply-templates/>
+       </fo:inline>
+</xsl:template>
+
+
+<xsl:template match="ulink">
+     <fo:inline color="blue" text-decoration="underline">
+             <xsl:apply-templates/>
+       </fo:inline>
+</xsl:template>
+
+
+</xsl:stylesheet>
+
+

+ 29 - 0
docs/BuildTools/relrem.xsl.in

@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+    <xsl:template match="node()">
+        <xsl:copy>
+            <xsl:copy-of select="@*"/>
+            <xsl:apply-templates select="node()"/>
+        </xsl:copy>
+    </xsl:template>
+    <xsl:template match="@ROOT@">
+        <book xml:base="@DOC_IMAGES@">
+            <xsl:copy-of select="@*[name(.)!='xml:base']"/>
+            <xsl:apply-templates select="node()"/>
+        </book>
+    </xsl:template>
+    <xsl:template match="*[name() = 'xi:include']">
+        <xsl:if test="not(contains(@href,'Version'))">
+                <xsl:copy>
+                    <xsl:copy-of select="@*"/>
+                    <xsl:apply-templates select="node()"/>
+                </xsl:copy>
+        </xsl:if>
+        <xsl:if test="contains(@href,'Version')">
+                <xi:include xml:base="@VERSION_DIR@/" xmlns:xi="http://www.w3.org/2001/XInclude">
+			<xsl:copy-of select="@*"/>
+                        <xsl:apply-templates select="node()"/>
+                </xi:include>
+        </xsl:if>
+    </xsl:template>
+</xsl:stylesheet>

+ 9 - 0
docs/BuildTools/xsltproc.cmake.in

@@ -0,0 +1,9 @@
+#set(ENV{XML_DEBUG_CATALOG} 1) Uncomment to add debugging to xsltproc catalogs.
+SET( ENV{SGML_CATALOG_FILES} ${XML_CATALOG})
+SET( ENV{XML_CATALOG_FILES} ${XML_CATALOG})
+execute_process(COMMAND "@XSLTPROC_EXECUTABLE@" -nonet @xinclude@ -o @_out_dir@/@_out@ @_xsl@ @_in_dir@/@_file@ RESULT_VARIABLE CMDRESULT)
+if(CMDRESULT)
+  message(FATAL_ERROR "xsltproc build failure: ${CMDRESULT}")
+endif(CMDRESULT)
+
+

+ 68 - 0
docs/CMakeLists.txt

@@ -0,0 +1,68 @@
+################################################################################
+#    Copyright (C) 2011 HPCC Systems.
+#
+#    All rights reserved. This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    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.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+################################################################################
+
+cmake_minimum_required(VERSION 2.8)
+PROJECT(docs)
+
+define_property(GLOBAL PROPERTY DOC_TARGETS BRIEF_DOCS "docs" FULL_DOCS "docs")
+mark_as_advanced(DOC_TARGETS)
+
+include(${CMAKE_SOURCE_DIR}/docMacros.cmake)
+
+set (DOCBOOK_RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/resources)
+set (DOCBOOK_XSL ${CMAKE_CURRENT_BINARY_DIR}/resources/docbook-xsl)
+set (DOC_IMAGES ${CMAKE_CURRENT_SOURCE_DIR}/)
+set (XML_CATALOG ${CMAKE_CURRENT_BINARY_DIR}/BuildTools/catalog.xml)
+set (DOC_VERSION "${HPCC_MAJOR}.${HPCC_MINOR}.${HPCC_POINT}")
+set (FO_XSL ${CMAKE_CURRENT_BINARY_DIR}/BuildTools/fo.xsl)
+set (VERSION_DIR ${CMAKE_CURRENT_BINARY_DIR}/)
+
+
+if ( ${HPCC_MATURITY} STREQUAL "release" )
+	set (DOC_VERSION "${DOC_VERSION}.${HPCC_SEQUENCE}")
+else()
+	set (DOC_VERSION "${DOC_VERSION}.${HPCC_SEQUENCE}${HPCC_MATURITY}")
+endif()
+
+
+# Required directories to add.
+add_subdirectory(common)
+add_subdirectory(BuildTools)
+add_subdirectory(resources)
+
+
+# Doc dirs to include.
+add_subdirectory(ECLLanguageReference)
+add_subdirectory(ECLProgrammersGuide)
+#add_subdirectory(ECLReference)
+add_subdirectory(ECLStandardLibraryReference)
+add_subdirectory(HPCCClientTools)
+add_subdirectory(HPCCDataHandling)
+add_subdirectory(HPCCDataTutorial)
+add_subdirectory(IMDB)
+add_subdirectory(Installing_and_RunningTheHPCCPlatform)
+add_subdirectory(RDDERef)
+add_subdirectory(RunningHPCCinaVirtualMachine)
+add_subdirectory(UsingConfigManager)
+
+
+
+#WIP -  Docs
+#add_subdirectory(RuningHPCCinAmazonWebServicesEC2)
+
+GET_PROPERTY(_targets GLOBAL PROPERTY DOC_TARGETS)
+add_custom_target(docs ALL DEPENDS ${_targets})

Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1063
docs/CommonItems.xml


+ 19 - 0
docs/ECLLanguageReference/CMakeLists.txt

@@ -0,0 +1,19 @@
+################################################################################
+#    Copyright (C) 2011 HPCC Systems.
+#
+#    All rights reserved. This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    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.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+################################################################################
+
+DOCBOOK_TO_PDF( ${FO_XSL} ECLR-includer.xml "ECLLanguageReference")
+

Diferenças do arquivo suprimidas por serem muito extensas
+ 240 - 240
docs/ECLR.xml


docs/ECLR_mods/AlienData-TypeStrucSpecial.xml → docs/ECLLanguageReference/ECLR_mods/AlienData-TypeStrucSpecial.xml


docs/ECLR_mods/AlienData-TypeStruct.xml → docs/ECLLanguageReference/ECLR_mods/AlienData-TypeStruct.xml


docs/ECLR_mods/Basics-ActionsandAttrib.xml → docs/ECLLanguageReference/ECLR_mods/Basics-ActionsandAttrib.xml


docs/ECLR_mods/Basics-AttributeDef.xml → docs/ECLLanguageReference/ECLR_mods/Basics-AttributeDef.xml


docs/ECLR_mods/Basics-AttributeTypes.xml → docs/ECLLanguageReference/ECLR_mods/Basics-AttributeTypes.xml


docs/ECLR_mods/Basics-AttributeVisibility.xml → docs/ECLLanguageReference/ECLR_mods/Basics-AttributeVisibility.xml


docs/ECLR_mods/Basics-Constants.xml → docs/ECLLanguageReference/ECLR_mods/Basics-Constants.xml


docs/ECLR_mods/Basics-FieldandAttribute.xml → docs/ECLLanguageReference/ECLR_mods/Basics-FieldandAttribute.xml


docs/ECLR_mods/Basics-FunctionAttributes.xml → docs/ECLLanguageReference/ECLR_mods/Basics-FunctionAttributes.xml


docs/ECLR_mods/Basics-Overview.xml → docs/ECLLanguageReference/ECLR_mods/Basics-Overview.xml


docs/ECLR_mods/Basics-RecordSetFiltring.xml → docs/ECLLanguageReference/ECLR_mods/Basics-RecordSetFiltring.xml


docs/ECLR_mods/BltInFunc-ABS.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-ABS.xml


docs/ECLR_mods/BltInFunc-ACOS.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-ACOS.xml


docs/ECLR_mods/BltInFunc-AGGREGATE.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-AGGREGATE.xml


docs/ECLR_mods/BltInFunc-ALLNODES.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-ALLNODES.xml


docs/ECLR_mods/BltInFunc-APPLY.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-APPLY.xml


docs/ECLR_mods/BltInFunc-ASCII.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-ASCII.xml


docs/ECLR_mods/BltInFunc-ASIN.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-ASIN.xml


docs/ECLR_mods/BltInFunc-ASSERT.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-ASSERT.xml


docs/ECLR_mods/BltInFunc-ASTRING.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-ASTRING.xml


docs/ECLR_mods/BltInFunc-ATAN.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-ATAN.xml


docs/ECLR_mods/BltInFunc-ATAN2.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-ATAN2.xml


docs/ECLR_mods/BltInFunc-AVE.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-AVE.xml


docs/ECLR_mods/BltInFunc-BUILD.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-BUILD.xml


docs/ECLR_mods/BltInFunc-CASE.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-CASE.xml


docs/ECLR_mods/BltInFunc-CHOOSE.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-CHOOSE.xml


docs/ECLR_mods/BltInFunc-CHOOSEN.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-CHOOSEN.xml


docs/ECLR_mods/BltInFunc-CHOOSETS.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-CHOOSETS.xml


docs/ECLR_mods/BltInFunc-CLUSTERSIZE.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-CLUSTERSIZE.xml


docs/ECLR_mods/BltInFunc-COMBINE.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-COMBINE.xml


docs/ECLR_mods/BltInFunc-CORRELATION.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-CORRELATION.xml


docs/ECLR_mods/BltInFunc-COS.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-COS.xml


docs/ECLR_mods/BltInFunc-COSH.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-COSH.xml


docs/ECLR_mods/BltInFunc-COUNT.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-COUNT.xml


docs/ECLR_mods/BltInFunc-COVARIANCE.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-COVARIANCE.xml


docs/ECLR_mods/BltInFunc-CRON.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-CRON.xml


docs/ECLR_mods/BltInFunc-DEDUP.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-DEDUP.xml


docs/ECLR_mods/BltInFunc-DEFINE.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-DEFINE.xml


docs/ECLR_mods/BltInFunc-DENORMALIZE.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-DENORMALIZE.xml


docs/ECLR_mods/BltInFunc-DISTRIBUTE.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-DISTRIBUTE.xml


docs/ECLR_mods/BltInFunc-DISTRIBUTED.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-DISTRIBUTED.xml


docs/ECLR_mods/BltInFunc-DISTRIBUTION.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-DISTRIBUTION.xml


docs/ECLR_mods/BltInFunc-EBCDIC.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-EBCDIC.xml


docs/ECLR_mods/BltInFunc-ENTH.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-ENTH.xml


docs/ECLR_mods/BltInFunc-ERROR.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-ERROR.xml


docs/ECLR_mods/BltInFunc-EVALUATE.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-EVALUATE.xml


docs/ECLR_mods/BltInFunc-EVENT.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-EVENT.xml


docs/ECLR_mods/BltInFunc-EVENTEXTRA.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-EVENTEXTRA.xml


docs/ECLR_mods/BltInFunc-EVENTNAME.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-EVENTNAME.xml


docs/ECLR_mods/BltInFunc-EXISTS.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-EXISTS.xml


docs/ECLR_mods/BltInFunc-EXP.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-EXP.xml


docs/ECLR_mods/BltInFunc-FAIL.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-FAIL.xml


docs/ECLR_mods/BltInFunc-FAILCODE.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-FAILCODE.xml


docs/ECLR_mods/BltInFunc-FAILMESSAGE.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-FAILMESSAGE.xml


docs/ECLR_mods/BltInFunc-FETCH.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-FETCH.xml


docs/ECLR_mods/BltInFunc-FROMUNICODE.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-FROMUNICODE.xml


docs/ECLR_mods/BltInFunc-FROMXML.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-FROMXML.xml


docs/ECLR_mods/BltInFunc-GETENV.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-GETENV.xml


docs/ECLR_mods/BltInFunc-GLOBAL.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-GLOBAL.xml


docs/ECLR_mods/BltInFunc-GRAPH.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-GRAPH.xml


docs/ECLR_mods/BltInFunc-GROUP.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-GROUP.xml


docs/ECLR_mods/BltInFunc-HASH.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-HASH.xml


docs/ECLR_mods/BltInFunc-HASH32.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-HASH32.xml


docs/ECLR_mods/BltInFunc-HASH64.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-HASH64.xml


docs/ECLR_mods/BltInFunc-HASHCRC.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-HASHCRC.xml


docs/ECLR_mods/BltInFunc-HASHMD5.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-HASHMD5.xml


docs/ECLR_mods/BltInFunc-HAVING.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-HAVING.xml


docs/ECLR_mods/BltInFunc-IF.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-IF.xml


docs/ECLR_mods/BltInFunc-INTFORMAT.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-INTFORMAT.xml


docs/ECLR_mods/BltInFunc-ISVALID.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-ISVALID.xml


docs/ECLR_mods/BltInFunc-ITERATE.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-ITERATE.xml


docs/ECLR_mods/BltInFunc-JOIN.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-JOIN.xml


docs/ECLR_mods/BltInFunc-KEYDIFF.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-KEYDIFF.xml


docs/ECLR_mods/BltInFunc-KEYPATCH.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-KEYPATCH.xml


docs/ECLR_mods/BltInFunc-KEYUNICODE.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-KEYUNICODE.xml


docs/ECLR_mods/BltInFunc-LENGTH.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-LENGTH.xml


docs/ECLR_mods/BltInFunc-LIBRARY.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-LIBRARY.xml


docs/ECLR_mods/BltInFunc-LIMIT.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-LIMIT.xml


docs/ECLR_mods/BltInFunc-LN.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-LN.xml


docs/ECLR_mods/BltInFunc-LOCAL.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-LOCAL.xml


docs/ECLR_mods/BltInFunc-LOG.xml → docs/ECLLanguageReference/ECLR_mods/BltInFunc-LOG.xml


+ 0 - 0
docs/ECLR_mods/BltInFunc-LOOP.xml


Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff