Add bash support
This commit is contained in:
parent
877527e918
commit
60e850b2ff
|
@ -15,6 +15,42 @@ source "$HELPERS_DIR/print-routines.sh"
|
|||
# Build Tree Sitter
|
||||
# =============================================================================
|
||||
|
||||
build_tree_sitter_language() {
|
||||
LANG_DIR=$1
|
||||
LANG_NAME=$2
|
||||
|
||||
PARSER_SRC="${CUSTOM_ROOT}/lang/$LANG_DIR/parser.c"
|
||||
PARSER_OUT="$TEMP_OUT_DIR/${LANG_DIR}_parser.o"
|
||||
|
||||
SCANNER_SRC="${CUSTOM_ROOT}/lang/$LANG_DIR/scanner.cc"
|
||||
SCANNER_OUT="$TEMP_OUT_DIR/${LANG_DIR}_scanner.o"
|
||||
|
||||
print_step "Building tree-sitter $LANG_NAME Language Lib ($LANG_DIR)"
|
||||
BUILT_ANYTHING=0
|
||||
|
||||
if [ -f $PARSER_SRC ]; then
|
||||
echo " Building Parser..."
|
||||
clang $CLANG_OPTS "${INCLUDES[@]}" "$PARSER_SRC" -o "$PARSER_OUT"
|
||||
if [ $? == 0 ]; then
|
||||
BUILT_ANYTHING=1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -f $SCANNER_SRC ]; then
|
||||
echo " Building Scanner..."
|
||||
clang $CLANG_OPTS "${INCLUDES[@]}" "$SCANNER_SRC" -o "$SCANNER_OUT"
|
||||
if [ $? == 0 ]; then
|
||||
BUILT_ANYTHING=1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $BUILT_ANYTHING == 1 ]; then
|
||||
print_success "Complete"
|
||||
else
|
||||
print_warning "Failed to build anything."
|
||||
fi
|
||||
}
|
||||
|
||||
build_tree_sitter() {
|
||||
BIN_NAME="custom_4coder"
|
||||
|
||||
|
@ -32,23 +68,17 @@ build_tree_sitter() {
|
|||
|
||||
TEMP_OUT_DIR=$BUILD_TEMP_DIR/tree-sitter
|
||||
mkdir -p $TEMP_OUT_DIR
|
||||
rm $TEMP_OUT_DIR/*.o
|
||||
rm "$BUILD_TEMP_DIR/tree-sitter.a"
|
||||
|
||||
# Build tree-sitter.lib/.a
|
||||
print_step "Building tree-sitter lib"
|
||||
clang $CLANG_OPTS "${INCLUDES[@]}" "$CUSTOM_ROOT/lib/src/lib.c" -o $TEMP_OUT_DIR/tree-sitter.o
|
||||
print_success "Complete"
|
||||
|
||||
# Lang: C++ (This needs to be two calls to clang so that you can specify the obj file names)
|
||||
print_step "Building tree-sitter C++ Language Lib"
|
||||
clang $CLANG_OPTS "${INCLUDES[@]}" "${CUSTOM_ROOT}/lang/cpp/parser.c" -o $TEMP_OUT_DIR/cpp_parser.o
|
||||
clang $CLANG_OPTS "${INCLUDES[@]}" "${CUSTOM_ROOT}/lang/cpp/scanner.cc" -o $TEMP_OUT_DIR/cpp_scanner.o
|
||||
print_success "Complete"
|
||||
|
||||
# Lang: Jai
|
||||
print_step "Building tree-sitter Jai Language Lib"
|
||||
clang $CLANG_OPTS "${INCLUDES[@]}" "${CUSTOM_ROOT}/lang/jai/parser.c" -o $TEMP_OUT_DIR/jai_parser.o
|
||||
clang $CLANG_OPTS "${INCLUDES[@]}" "${CUSTOM_ROOT}/lang/jai/scanner.cc" -o $TEMP_OUT_DIR/jai_scanner.o
|
||||
print_success "Complete"
|
||||
build_tree_sitter_language "cpp" "C++"
|
||||
build_tree_sitter_language "jai" "Jai"
|
||||
build_tree_sitter_language "bash" "Bash"
|
||||
|
||||
# Link tree-sitter lib and parser obj files into a static library to link into main custom dll
|
||||
print_step "Linking tree-sitter static library"
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue