Change how glgen.sh outputs files

This fixes building wlroots as a subproject.
This commit is contained in:
Scott Anderson 2018-08-24 19:33:35 +12:00
parent fd3fa760d3
commit dc37194291
2 changed files with 8 additions and 9 deletions

View File

@ -7,16 +7,15 @@
# to fail if it can't load the function. You'll need to check if that function # to fail if it can't load the function. You'll need to check if that function
# is NULL before using it. # is NULL before using it.
if [ $# -ne 3 ]; then if [ $# -ne 2 ]; then
exit 1 exit 1
fi fi
SPEC=$1 SPEC=$1
OUT_C=$2 OUTDIR=$2
OUT_H=$3
BASE=$(basename "$SPEC" .txt) BASE=$(basename "$SPEC" .txt)
INCLUDE_GUARD=$(printf %s "$OUT_H" | tr -c [:alnum:] _ | tr [:lower:] [:upper:]) INCLUDE_GUARD=$(printf %s_%s_H "$OUTDIR" "$BASE" | tr -c [:alnum:] _ | tr [:lower:] [:upper:])
DECL="" DECL=""
DEFN="" DEFN=""
@ -56,9 +55,9 @@ while read -r COMMAND; do
if [ $OPTIONAL -eq 0 ]; then if [ $OPTIONAL -eq 0 ]; then
LOADER="$LOADER$(printf "\n$CHECK_FMT" "$COMMAND" "$COMMAND")" LOADER="$LOADER$(printf "\n$CHECK_FMT" "$COMMAND" "$COMMAND")"
fi fi
done < $SPEC done < "$SPEC"
cat > $OUT_H << EOF cat > "$OUTDIR/$BASE.h" << EOF
#ifndef $INCLUDE_GUARD #ifndef $INCLUDE_GUARD
#define $INCLUDE_GUARD #define $INCLUDE_GUARD
@ -75,9 +74,9 @@ $DECL
#endif #endif
EOF EOF
cat > $OUT_C << EOF cat > "$OUTDIR/$BASE.c" << EOF
#include <wlr/util/log.h> #include <wlr/util/log.h>
#include "$OUT_H" #include "$BASE.h"
$DEFN $DEFN
bool load_$BASE(void) { bool load_$BASE(void) {

View File

@ -4,7 +4,7 @@ glapi = custom_target(
'glapi', 'glapi',
input: 'glapi.txt', input: 'glapi.txt',
output: ['@BASENAME@.c', '@BASENAME@.h'], output: ['@BASENAME@.c', '@BASENAME@.h'],
command: [glgen, '@INPUT@', '@OUTPUT0@', '@OUTPUT1@'], command: [glgen, '@INPUT@', '@OUTDIR@'],
) )
lib_wlr_render = static_library( lib_wlr_render = static_library(