Change configuration system from Autotools to Meson
[geeqie.git] / doc / create-doxygen-lua-api.sh
1 #!/bin/sh
2
3 #**********************************************************************
4 # Copyright (C) 2022 - The Geeqie Team
5 #
6 # Author: Colin Clark
7 #
8 # This program is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2 of the License, or
11 # (at your option) any later version.
12 #
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 # GNU General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License along
19 # with this program; if not, write to the Free Software Foundation, Inc.,
20 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 #**********************************************************************
22
23 ## @file
24 ## @brief Create the Lua API html document, which is part of
25 ## the Geeqie Help file.
26 ##
27 ## It is run during the generation of the help files.
28 ##
29 ## The generated Lua html files are placed in doc/html/lua-api
30 ##
31 ## The doxygen.conf file is modified to extract only those comments
32 ## that are useful as part of an API description.
33 ##
34
35 export PROJECT="Geeqie"
36 VERSION=$(git tag --list v[1-9]* | tail -1)
37 export VERSION
38 export SRCDIR="$1"
39 export DOCDIR="$2"
40 export INLINE_SOURCES=NO
41 export STRIP_CODE_COMMENTS=YES
42
43 TMPFILE=$(mktemp "${TMPDIR:-/tmp}/geeqie.XXXXXXXXXX") || exit 1
44
45 # Modify the Geeqie doxygen.conf file to produce
46 # only the data needed for the lua API document
47 awk '
48 BEGIN {
49         FILE_PATTERNS_found = "FALSE"
50 }
51 {
52         if (FILE_PATTERNS_found == "TRUE")
53                 {
54                 if ($0 ~ /\\/)
55                         {
56                         next
57                         }
58                 else
59                         {
60                         FILE_PATTERNS_found = "FALSE"
61                         }
62                 }
63         if ($1 == SHOW_INCLUDE_FILES)
64                 {
65                 {print "SHOW_INCLUDE_FILES = NO"}
66                 }
67         else if ($1 == "FILE_PATTERNS")
68                 {
69                 print "FILE_PATTERNS = lua.c"
70                 FILE_PATTERNS_found = "TRUE"
71                 next
72                 }
73         else if ($1 == "EXCLUDE_SYMBOLS")
74                 {
75                 print "EXCLUDE_SYMBOLS = L \\"
76                 print "lua_callvalue \\"
77                 print "lua_check_exif \\"
78                 print "lua_check_image \\"
79                 print "lua_init \\"
80                 print "_XOPEN_SOURCE \\"
81                 print "LUA_register_global \\"
82                 print "LUA_register_meta"
83                 }
84         else if ($1 == "SOURCE_BROWSER")
85                 {
86                 print "SOURCE_BROWSER = NO"
87                 }
88         else if ($1 == "HAVE_DOT")
89                 {
90                 {print "HAVE_DOT = NO"}
91                 }
92         else
93                 {
94                 {print}
95                 }
96 }
97 ' ../doxygen.conf > "$TMPFILE"
98
99 doxygen "$TMPFILE"
100
101 rm "$TMPFILE"