diff options
author | jmayer <jmayer@f5534014-38df-0310-8fa8-9805f1628bb7> | 2010-02-25 12:30:44 +0000 |
---|---|---|
committer | jmayer <jmayer@f5534014-38df-0310-8fa8-9805f1628bb7> | 2010-02-25 12:30:44 +0000 |
commit | 7de0f8fe2439c14c7ccccf2e8b7042eaf361e21c (patch) | |
tree | 4f012ed120f8cd9530dcc035be8ee6552f952997 | |
parent | 3b32aceb108d1241399acc5dffe04007d7588e52 (diff) |
Almost working out-of-tree builds for the documentation,
with a few hacks right now:
- The tip.png, warning.png and note.png images are missing from the
pdfs and I have no idea how to tell fop how to find them.
- Disabling/enabling building the guides via option currently doesn't
work (probably too many macros :-), so comment out the subdir instead.
- Right now, in order to build the devleopers guide we need to do the
following in the source docbook directory:
touch wsdg_graphics/toolbar/dummy.dummy
Apart from these: The build works with a pristine docbook dir
(svn status --no-ignore).
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@32004 f5534014-38df-0310-8fa8-9805f1628bb7
-rw-r--r-- | CMakeLists.txt | 11 | ||||
-rw-r--r-- | cmake/modules/FindFOP.cmake | 4 | ||||
-rw-r--r-- | cmake/modules/FindPOD.cmake | 2 | ||||
-rw-r--r-- | cmake/modules/FindXMLLINT.cmake | 25 | ||||
-rw-r--r-- | cmake/modules/FindXSLTPROC.cmake | 150 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | docbook/CMakeLists.txt | 152 | ||||
-rw-r--r-- | epan/CMakeLists.txt | 7 | ||||
-rw-r--r-- | epan/dissectors/Makefile.common | 2 |
9 files changed, 190 insertions, 165 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 5f59791808..ff34f23a9b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,6 +24,7 @@ project(Wireshark C) cmake_minimum_required(VERSION 2.6) +set(CMAKE_BACKWARDS_COMPATIBILITY 2.6) #Where to find local cmake scripts set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules) @@ -69,10 +70,11 @@ option(AUTOGEN_pidl "Autogenerate pidl dissectors" OFF) option(DISABLE_WERROR "Do not treat Warnings as errors" OFF) option(ENABLE_EXTRA_GCC_CHECKS "Do additional -W checks in GCC (disables -Werror)" OFF) option(ENABLE_AIRPCAP "Enable Airpcap support" ON) +# todo option(ENABLE_STATIC "Build a static version of Wireshark (not yet working)" OFF) option(ENABLE_PLUGINS "Build with plugins" ON) # todo -option(ENABLE_GUIDES "Build Guides (not yet implemented)" OFF) +option(ENABLE_GUIDES "Build Guides" ON) option(ENABLE_ADNS "Build with adns support" ON) option(ENABLE_PCRE "Build with pcre support" ON) @@ -355,9 +357,12 @@ add_subdirectory( wiretap ) add_subdirectory( wsutil ) if(ENABLE_GUIDES) - add_subdirectory( docbook ) +# FIXME: Disabling the build via option currently doesn't work +# add_subdirectory( docbook ) endif() +find_package(POD) + #Platform specific if(UNIX) set(WS_VAR_IMPORT "extern") @@ -805,8 +810,6 @@ ADD_CUSTOM_COMMAND( tshark ) -find_package(POD) - pod2manhtml( ${CMAKE_SOURCE_DIR}/doc/capinfos 1 ) pod2manhtml( ${CMAKE_SOURCE_DIR}/doc/dumpcap 1 ) pod2manhtml( ${CMAKE_SOURCE_DIR}/doc/editcap 1 ) diff --git a/cmake/modules/FindFOP.cmake b/cmake/modules/FindFOP.cmake index 1ec136149b..6383ad829d 100644 --- a/cmake/modules/FindFOP.cmake +++ b/cmake/modules/FindFOP.cmake @@ -21,5 +21,9 @@ FIND_PROGRAM(FOP_EXECUTABLE INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(FOP DEFAULT_MSG FOP_EXECUTABLE) +IF(${FOP_EXECUTABLE}) + SET(FOP_OPTS -Xmx256m) + SET(FOP_EXECUTABLE FOP_OPTS=${FOP_OPTS} JAVA_OPTS=${FOP_OPTS} ${FOP_EXECUTABLE}) +ENDIF() MARK_AS_ADVANCED(FOP_EXECUTABLE) diff --git a/cmake/modules/FindPOD.cmake b/cmake/modules/FindPOD.cmake index 63e3112fad..59d8d81b3c 100644 --- a/cmake/modules/FindPOD.cmake +++ b/cmake/modules/FindPOD.cmake @@ -32,7 +32,7 @@ FIND_PROGRAM(POD2HTML_EXECUTABLE # handle the QUIETLY and REQUIRED arguments and set POD2HTML_FOUND to TRUE if # all listed variables are TRUE INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(POD2HTML DEFAULT_MSG POD2MAN_EXECUTABLE POD2HTML_EXECUTABLE) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(POD DEFAULT_MSG POD2MAN_EXECUTABLE POD2HTML_EXECUTABLE) MARK_AS_ADVANCED( POD2MAN_EXECUTABLE diff --git a/cmake/modules/FindXMLLINT.cmake b/cmake/modules/FindXMLLINT.cmake index f5ac6459e2..583868050a 100644 --- a/cmake/modules/FindXMLLINT.cmake +++ b/cmake/modules/FindXMLLINT.cmake @@ -25,24 +25,25 @@ MARK_AS_ADVANCED(XMLLINT_EXECUTABLE) # Validate XML MACRO(VALIDATE_XML _validated _sources) - message(STATUS "Source(s): ${${_sources}}") # FIXME: How do I extract the first element of a variable containing a # list of values? Isn't there a "cleaner" solution? - FOREACH(_source ${${_sources}}) + # Oh, and I have no idea why I can't directly use _source instead of + # having to introduce _tmpsource. + FOREACH(_tmpsource ${${_sources}}) + set(_source ${_tmpsource}) BREAK() ENDFOREACH() ADD_CUSTOM_COMMAND( - OUTPUT - ${CMAKE_CURRENT_BINARY_DIR}/${_validated} - COMMAND ${XMLLINT_EXECUTABLE} + OUTPUT + ${_validated} + COMMAND ${XMLLINT_EXECUTABLE} + --path "${CMAKE_CURRENT_SOURCE_DIR}:${CMAKE_CURRENT_BINARY_DIR}:${CMAKE_CURRENT_BINARY_DIR}/wsluarm_src" --valid --noout - --path "${CMAKE_CURRENT_BINARY_DIR}:${CMAKE_CURRENT_SOURCE_DIR}" - ${_source} - COMMAND touch - ${CMAKE_CURRENT_BINARY_DIR}/${_validated} - DEPENDS - ${_source} - svn_version.xml + ${_source} + COMMAND touch + ${_validated} + DEPENDS + ${${_sources}} ) ENDMACRO(VALIDATE_XML) diff --git a/cmake/modules/FindXSLTPROC.cmake b/cmake/modules/FindXSLTPROC.cmake index 1d18832da0..fbbb200ed4 100644 --- a/cmake/modules/FindXSLTPROC.cmake +++ b/cmake/modules/FindXSLTPROC.cmake @@ -25,91 +25,109 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(XSLTPROC DEFAULT_MSG XSLTPROC_EXECUTABLE) MARK_AS_ADVANCED(XSLTPROC_EXECUTABLE) +# Translate xml to html #XML2HTML( -# wsug.validated -# wsug_html/user-guide.html -# single-page -# wsug_html -# WSUG_SOURCE -# WSUG_GFX_SOURCE +# wsug.validated +# wsug_html/user-guide.html or wsub_html/index.html +# single-page or chunked +# WSUG_FILES +# WSUG_GRAPHICS #) - -# Translate xml to html MACRO(XML2HTML _validated _output _mode _xmlsources _gfxsources) - MESSAGE(STATUS "XML source(s): ${${_xmlsources}}") - MESSAGE(STATUS "GFX source(s): ${${_gfxsources}}") - + FOREACH(_tmpgfx ${${_gfxsources}}) + set(_gfx ${_tmpgfx}) + BREAK() + ENDFOREACH() + GET_FILENAME_COMPONENT(_GFXDIR ${_gfx} PATH) GET_FILENAME_COMPONENT(_OUTDIR ${_output} PATH) + SET(_OUTDIR ${CMAKE_CURRENT_BINARY_DIR}/${_OUTDIR}) + IF(${_mode} STREQUAL "chunked") + SET(_STYLESHEET "http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl") ELSE() # single-page + SET(_STYLESHEET "http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl") ENDIF() + # FIXME: How do I extract the first element of a variable containing a + # list of values? Isn't there a "cleaner" solution? + # Oh, and I have no idea why I can't directly use _source instead of + # having to introduce _tmpsource. + FOREACH(_tmpsource ${${_xmlsources}}) + set(_source ${_tmpsource}) + BREAK() + ENDFOREACH() + ADD_CUSTOM_COMMAND( OUTPUT ${_output} - COMMAND - cmake -E make_directory ${_OUTDIR} - COMMAND - cmake -E copy ${${_gfxsources}} ${_OUTDIR} - COMMAND - cmake -E copy ws.css ${_OUTDIR} + # Fixme: find out about subdirs (i.e. toolbar) automatically + # so this works for wsdg as well. + COMMAND cmake + -E make_directory ${_OUTDIR}/${_GFXDIR}/toolbar + COMMAND cp + ${CMAKE_CURRENT_SOURCE_DIR}/${_GFXDIR}/*.* ${_OUTDIR}/${_GFXDIR}/ + COMMAND cp + ${CMAKE_CURRENT_SOURCE_DIR}/${_GFXDIR}/toolbar/*.* ${_OUTDIR}/${_GFXDIR}/toolbar/ + COMMAND cmake + -E copy ${CMAKE_CURRENT_SOURCE_DIR}/ws.css ${_OUTDIR} + COMMAND ${XSLTPROC_EXECUTABLE} + --path "${CMAKE_CURRENT_SOURCE_DIR}:${CMAKE_CURRENT_BINARY_DIR}:${CMAKE_CURRENT_BINARY_DIR}/wsluarm_src" + --stringparam base.dir ${_OUTDIR}/ + --stringparam use.id.as.filename 1 + --stringparam admon.graphics 1 + --stringparam admon.graphics.path ${_GFXDIR}/ + --stringparam section.autolabel 1 + --stringparam section.label.includes.component.label 1 + --stringparam html.stylesheet ws.css + --nonet + --output ${_output} + ${_STYLESHEET} + ${_source} + COMMAND chmod + -R og+rX ${_OUTDIR} DEPENDS + ${_validated} ${${_xmlsources}} ${${_gfxsources}} ) -# mkdir -p wsug_html/wsug_graphics/toolbar -# cp wsug_graphics/*.* wsug_html/wsug_graphics -# cp wsug_graphics/toolbar/* wsug_html/wsug_graphics/toolbar -# cp ws.css wsug_html - -# mkdir -p wsug_html_chunked/wsug_graphics/toolbar -# cp wsug_graphics/*.* wsug_html_chunked/wsug_graphics -# cp wsug_graphics/toolbar/* wsug_html_chunked/wsug_graphics/toolbar -# cp ws.css wsug_html_chunked ENDMACRO(XML2HTML) -#wsug_html/user-guide.html: $(WSUG_SOURCE) -# @ echo --- WSUG - HTML SINGLE PAGE --- -# mkdir -p wsug_html/wsug_graphics/toolbar -# cp wsug_graphics/*.* wsug_html/wsug_graphics -# cp wsug_graphics/toolbar/* wsug_html/wsug_graphics/toolbar -# cp ws.css wsug_html -# $(XSLTPROC) --stringparam base.dir wsug_html/ --stringparam use.id.as.filename 1 --stringparam admon.graphics 1 --stringparam admon.graphics.path wsug_graphics/ --stringparam section.autolabel 1 --stringparam section.label.includes.component.label 1 --stringparam html.stylesheet ws.css --nonet http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl $< > $@ -# -chmod -R og+rX wsug_html -# - -#wsug_html_chunked/index.html: $(WSUG_SOURCE) -# @ echo --- WSUG - HTML CHUNKED --- -# mkdir -p wsug_html_chunked/wsug_graphics/toolbar -# cp wsug_graphics/*.* wsug_html_chunked/wsug_graphics -# cp wsug_graphics/toolbar/* wsug_html_chunked/wsug_graphics/toolbar -# cp ws.css wsug_html_chunked -# $(XSLTPROC) --stringparam base.dir wsug_html_chunked/ --stringparam use.id.as.filename 1 --stringparam admon.graphics 1 --stringparam admon.graphics.path wsug_graphics/ --stringparam section.autolabel 1 --stringparam section.label.includes.component.label 1 --stringparam html.stylesheet ws.css --nonet http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl $< -# -chmod -R og+rX wsug_html_chunked #XML2PDF( -# WSUG_SOURCE -# custom_layer_pdf.xsl -# A4 -#) -# -#XML2PDF( -# WSUG_SOURCE -# custom_layer_pdf.xsl -# letter +# user-guide-a4.fo or user-guide-us.fo +# WSUG_SOURCE +# custom_layer_pdf.xsl +# A4 or letter #) +MACRO(XML2PDF _output _sources _stylesheet _paper) + # FIXME: How do I extract the first element of a variable containing a + # list of values? Isn't there a "cleaner" solution? + # Oh, and I have no idea why I can't directly use _source instead of + # having to introduce _tmpsource. + FOREACH(_tmpsource ${${_sources}}) + set(_source ${_tmpsource}) + BREAK() + ENDFOREACH() -#user-guide-us.fo: $(WSUG_SOURCE) custom_layer_pdf.xsl -#ifdef FOP -# @ echo --- WSUG - PDF US PAPER --- -# $(XSLTPROC) --stringparam paper.type letter --nonet custom_layer_pdf.xsl $< > $@ -#endif -# -## create pdf file (through XSL-FO), portrait pages on A4 paper -## you will get lot's of errors, but that's ok -#user-guide-a4.fo: $(WSUG_SOURCE) custom_layer_pdf.xsl -#ifdef FOP -# @ echo --- WSUG - PDF A4 PAPER --- -# $(XSLTPROC) --stringparam paper.type A4 --nonet custom_layer_pdf.xsl $< > $@ -#endif + ADD_CUSTOM_COMMAND( + OUTPUT + ${_output} + COMMAND ${XSLTPROC_EXECUTABLE} + --path "${CMAKE_CURRENT_SOURCE_DIR}:${CMAKE_CURRENT_BINARY_DIR}:${CMAKE_CURRENT_BINARY_DIR}/wsluarm_src" + --stringparam paper.type ${_paper} + --nonet + --output ${_output}.fo + ${_stylesheet} + ${_source} + # FIXME: The images for tip, warning and note (and maybe more of those) + # are not found by fop. I have no idea why "system" images don't work + # the way other images work. + COMMAND ${FOP_EXECUTABLE} + ${_output}.fo + ${_output} + DEPENDS + ${${_sources}} + ${_stylesheet} + ) +ENDMACRO(XML2PDF) diff --git a/configure.in b/configure.in index 535bab823c..94b77cedb6 100644 --- a/configure.in +++ b/configure.in @@ -1741,6 +1741,7 @@ AC_OUTPUT( asn1/h501/Makefile asn1/hnbap/Makefile asn1/inap/Makefile + asn1/kerberos/Makefile asn1/ldap/Makefile asn1/logotypecertextn/Makefile asn1/lte-rrc/Makefile @@ -1770,6 +1771,7 @@ AC_OUTPUT( asn1/rrc/Makefile asn1/rrlp/Makefile asn1/rtse/Makefile + asn1/rua/Makefile asn1/s1ap/Makefile asn1/s4406/Makefile asn1/sabp/Makefile diff --git a/docbook/CMakeLists.txt b/docbook/CMakeLists.txt index 4d549027c2..d46f97beca 100644 --- a/docbook/CMakeLists.txt +++ b/docbook/CMakeLists.txt @@ -233,7 +233,7 @@ set(WSLUA_MODULES ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_util.c ) -find_package( FOP ) +find_package( FOP ) # Call before XSLTPROC find_package( LYNX ) find_package( XSLTPROC ) find_package( XMLLINT ) @@ -248,13 +248,13 @@ ADD_CUSTOM_COMMAND( ) add_custom_target( - guides ALL + user_guides ALL DEPENDS - wsug.validated -# wsug_html_chunked -# user-guide.html -# user-guide-a4.pdf -# user-guide-us.pdf + wsluarm + wsug_html_chunked/index.html + wsug_html/user-guide.html + user-guide-a4.pdf + user-guide-us.pdf ) VALIDATE_XML( @@ -266,43 +266,84 @@ XML2HTML( wsug.validated wsug_html/user-guide.html single-page - WSUG_FILES + WSUG_SOURCE WSUG_GRAPHICS ) -#XML2HTML( -# wsug.validated -# wsug_html_chunked/index.html -# chunked -# wsug_html_chunked -# WSUG_FILES -# WSUG_GRAPHICS -#) -# -#XML2PDF( -# WSUG_SOURCE -# custom_layer_pdf.xsl -# A4 -#) -# -#XML2PDF( -# WSUG_SOURCE -# custom_layer_pdf.xsl -# letter -#) +XML2HTML( + wsug.validated + wsug_html_chunked/index.html + chunked + WSUG_SOURCE + WSUG_GRAPHICS +) + +XML2PDF( + user-guide-a4.pdf + WSUG_SOURCE + custom_layer_pdf.xsl + A4 +) -# wsdg: wsdg_html_chunked developer-guide.html developer-guide-a4.pdf developer-guide-us.pdf +XML2PDF( + user-guide-us.pdf + WSUG_SOURCE + custom_layer_pdf.xsl + letter +) -# ... +add_custom_target( + developer_guides ALL + DEPENDS + wsluarm + wsdg_html_chunked/index.html + wsdg_html/developer-guide.html + developer-guide-a4.pdf + developer-guide-us.pdf +) -# release_notes: release-notes.html release-notes.txt release-notes-a4.pdf release-notes-us.pdf +VALIDATE_XML( + wsdg.validated + WSDG_SOURCE +) + +XML2HTML( + wsdg.validated + wsdg_html/developer-guide.html + single-page + WSDG_SOURCE + WSDG_GRAPHICS +) + +XML2HTML( + wsdg.validated + wsdg_html_chunked/index.html + chunked + WSDG_SOURCE + WSDG_GRAPHICS +) + +XML2PDF( + developer-guide-a4.pdf + WSDG_SOURCE + custom_layer_pdf.xsl + A4 +) -# ... +XML2PDF( + developer-guide-us.pdf + WSDG_SOURCE + custom_layer_pdf.xsl + letter +) + +# release_notes: release-notes.html release-notes.txt release-notes-a4.pdf release-notes-us.pdf # wsluarm ADD_CUSTOM_COMMAND( OUTPUT wsluarm + COMMAND cmake -E make_directory wsluarm_src COMMAND ${PERL_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/make-wsluarm.pl ${WSLUA_MODULES} @@ -312,51 +353,4 @@ ADD_CUSTOM_COMMAND( ${CMAKE_CURRENT_SOURCE_DIR}/make-wsluarm.pl ${WSLUA_MODULES} ) -# ... - - -# make-taps.pl depends on the current working directory -# to find the dissector files (contents of taps file -# depend on this actually, so just changing the paths -# in these lists won't help). -#ADD_CUSTOM_COMMAND( -# OUTPUT -# ${CMAKE_CURRENT_BINARY_DIR}/taps_wslua.c -# ${CMAKE_CURRENT_BINARY_DIR}/taps.txt -# COMMAND ${PERL_EXECUTABLE} -# ${CMAKE_CURRENT_SOURCE_DIR}/make-taps.pl -# ${CMAKE_CURRENT_SOURCE_DIR}/taps -# ${CMAKE_CURRENT_BINARY_DIR}/taps_wslua.c -# ${CMAKE_CURRENT_BINARY_DIR}/taps.txt -# WORKING_DIRECTORY -# ${CMAKE_CURRENT_SOURCE_DIR} -# DEPENDS -# ${CMAKE_CURRENT_SOURCE_DIR}/taps -# ${CMAKE_CURRENT_SOURCE_DIR}/make-taps.pl -# # Only here to add dependencies for the taps "source"files -# ${WSLUA_TAPS_USED} -#) - -#ADD_CUSTOM_COMMAND( -# OUTPUT -# declare_wslua.h -# register_wslua.c -# COMMAND ${PERL_EXECUTABLE} -# ${CMAKE_CURRENT_SOURCE_DIR}/make-reg.pl -# ${WSLUA_MODULES} -# DEPENDS -# ${CMAKE_CURRENT_SOURCE_DIR}/make-reg.pl -# ${WSLUA_MODULES} -# # ${CMAKE_CURRENT_BINARY_DIR}/taps_wslua.c -#) -# - -#install( -# FILES -# console.lua -# dtd_gen.lua -# ${CMAKE_CURRENT_BINARY_DIR}/init.lua -# DESTINATION -# ${CMAKE_INSTALL_DATADIR}/${CPACK_PACKAGE_NAME} -#) diff --git a/epan/CMakeLists.txt b/epan/CMakeLists.txt index 1fc7de03d6..6b1074dc0b 100644 --- a/epan/CMakeLists.txt +++ b/epan/CMakeLists.txt @@ -241,6 +241,7 @@ set(ASN1_DISSECTOR_SRC dissectors/packet-ros.c dissectors/packet-rtnet.c dissectors/packet-rtse.c + dissectors/packet-rua.c dissectors/packet-s4406.c dissectors/packet-sabp.c dissectors/packet-s1ap.c @@ -260,6 +261,7 @@ set(DIRTY_ASN1_DISSECTOR_SRC dissectors/packet-ansi_map.c dissectors/packet-gnm.c dissectors/packet-gsm_map.c + dissectors/packet-hnbap.c dissectors/packet-inap.c dissectors/packet-ldap.c dissectors/packet-lte-rrc.c @@ -1276,8 +1278,9 @@ add_library(epan ${LINK_MODE_LIB} ${LIBWIRESHARK_ASM_FILES} ) -# In case we want the libwireshark name back -# SET_TARGET_PROPERTIES(epan PROPERTIES OUTPUT_NAME "wireshark") +# By default the name for a library with target name epan will be libepan, +# but Ethereal is now named Wireshark +SET_TARGET_PROPERTIES(epan PROPERTIES OUTPUT_NAME "wireshark") target_link_libraries(epan ${WSLUA_LIB} diff --git a/epan/dissectors/Makefile.common b/epan/dissectors/Makefile.common index b2609e796d..20ac4ccbfa 100644 --- a/epan/dissectors/Makefile.common +++ b/epan/dissectors/Makefile.common @@ -141,7 +141,6 @@ ASN1_DISSECTOR_SRC = \ packet-ranap.c \ packet-ros.c \ packet-rtse.c \ - packet-rua.c \ packet-s1ap.c \ packet-s4406.c \ packet-sabp.c \ @@ -174,6 +173,7 @@ DIRTY_ASN1_DISSECTOR_SRC = \ packet-rnsap.c \ packet-rrc.c \ packet-rrlp.c \ + packet-rua.c \ packet-snmp.c \ packet-t125.c \ packet-tcap.c \ |