Change how glgen.sh outputs files
This fixes building wlroots as a subproject.
This commit is contained in:
parent
fd3fa760d3
commit
dc37194291
15
glgen.sh
15
glgen.sh
|
@ -7,16 +7,15 @@
|
|||
# to fail if it can't load the function. You'll need to check if that function
|
||||
# is NULL before using it.
|
||||
|
||||
if [ $# -ne 3 ]; then
|
||||
if [ $# -ne 2 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SPEC=$1
|
||||
OUT_C=$2
|
||||
OUT_H=$3
|
||||
OUTDIR=$2
|
||||
|
||||
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=""
|
||||
DEFN=""
|
||||
|
@ -56,9 +55,9 @@ while read -r COMMAND; do
|
|||
if [ $OPTIONAL -eq 0 ]; then
|
||||
LOADER="$LOADER$(printf "\n$CHECK_FMT" "$COMMAND" "$COMMAND")"
|
||||
fi
|
||||
done < $SPEC
|
||||
done < "$SPEC"
|
||||
|
||||
cat > $OUT_H << EOF
|
||||
cat > "$OUTDIR/$BASE.h" << EOF
|
||||
#ifndef $INCLUDE_GUARD
|
||||
#define $INCLUDE_GUARD
|
||||
|
||||
|
@ -75,9 +74,9 @@ $DECL
|
|||
#endif
|
||||
EOF
|
||||
|
||||
cat > $OUT_C << EOF
|
||||
cat > "$OUTDIR/$BASE.c" << EOF
|
||||
#include <wlr/util/log.h>
|
||||
#include "$OUT_H"
|
||||
#include "$BASE.h"
|
||||
$DEFN
|
||||
|
||||
bool load_$BASE(void) {
|
||||
|
|
|
@ -4,7 +4,7 @@ glapi = custom_target(
|
|||
'glapi',
|
||||
input: 'glapi.txt',
|
||||
output: ['@BASENAME@.c', '@BASENAME@.h'],
|
||||
command: [glgen, '@INPUT@', '@OUTPUT0@', '@OUTPUT1@'],
|
||||
command: [glgen, '@INPUT@', '@OUTDIR@'],
|
||||
)
|
||||
|
||||
lib_wlr_render = static_library(
|
||||
|
|
Loading…
Reference in New Issue