Explorar o código

Merge pull request #1833 from pschwartz/autodoc

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

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman %!s(int64=13) %!d(string=hai) anos
pai
achega
4f6312cc14
Modificáronse 100 ficheiros con 1185 adicións e 2006 borrados
  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})

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 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")
+

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 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


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio