From 0bb2d6792a58c481afe743f94d58d9678014bcdb Mon Sep 17 00:00:00 2001 From: Marius Kintel Date: Wed, 18 Jan 2017 22:43:54 -0500 Subject: [PATCH] Cleaned up flex/bison build rules --- bison.pri | 39 ++------------------------------------- flex.pri | 19 ++----------------- openscad.pro | 9 ++------- 3 files changed, 6 insertions(+), 61 deletions(-) diff --git a/bison.pri b/bison.pri index 9dbe4bb7..4e79a323 100644 --- a/bison.pri +++ b/bison.pri @@ -1,45 +1,10 @@ { bison.name = Bison ${QMAKE_FILE_IN} bison.input = BISONSOURCES - bison.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp - bison.commands = bison -d -p ${QMAKE_FILE_BASE} -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp ${QMAKE_FILE_IN} - bison.commands += && if [[ -e ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ]] ; then mv ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h ; fi + bison.output = ${OBJECTS_DIR}/${QMAKE_FILE_BASE}.cxx + bison.commands = bison -d -p ${QMAKE_FILE_BASE} -o ${OBJECTS_DIR}/${QMAKE_FILE_BASE}.cxx --defines=${OBJECTS_DIR}/${QMAKE_FILE_BASE}.hxx ${QMAKE_FILE_IN} bison.CONFIG += target_predeps bison.variable_out = GENERATED_SOURCES silent:bison.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands QMAKE_EXTRA_COMPILERS += bison - bison_header.input = BISONSOURCES - bison_header.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h - bison_header.commands = bison -d -p ${QMAKE_FILE_BASE} -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp ${QMAKE_FILE_IN} - bison_header.commands += && if [ -e ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ]; then mv ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h ; fi - bison_header.CONFIG += target_predeps no_link - silent:bison_header.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands - QMAKE_EXTRA_COMPILERS += bison_header -} - -unix:linux* { - exists(/usr/bin/bison) { - QMAKE_YACC = /usr/bin/bison - } -} - -freebsd* { - # on some BSD, /usr/local/bin/bison is newer than - # /usr/bin/bison, so try to prefer it. - exists(/usr/local/bin/bison) { - QMAKE_YACC = /usr/local/bin/bison - } else { # look in $PATH - QMAKE_YACC = bison - } -} - -netbsd* { - exists(/usr/pkg/bin/bison) { - QMAKE_YACC = /usr/pkg/bin/bison - } else { # look in $PATH - QMAKE_YACC = bison - } -} - -win32*msvc* { } diff --git a/flex.pri b/flex.pri index 0813300a..747299fe 100644 --- a/flex.pri +++ b/flex.pri @@ -1,25 +1,10 @@ { flex.name = Flex ${QMAKE_FILE_IN} flex.input = FLEXSOURCES - flex.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.lexer.cpp - flex.commands = flex -P ${QMAKE_FILE_BASE} -o${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.lexer.cpp ${QMAKE_FILE_IN} + flex.output = ${OBJECTS_DIR}/${QMAKE_FILE_BASE}.cxx + flex.commands = flex -P ${QMAKE_FILE_BASE} -o ${OBJECTS_DIR}/${QMAKE_FILE_BASE}.cxx --header-file=${OBJECTS_DIR}/${QMAKE_FILE_BASE}.hxx ${QMAKE_FILE_IN} flex.CONFIG += target_predeps flex.variable_out = GENERATED_SOURCES silent:flex.commands = @echo Lex ${QMAKE_FILE_IN} && $$flex.commands QMAKE_EXTRA_COMPILERS += flex } - -unix:linux* { - exists(/usr/bin/flex) { - QMAKE_LEX = /usr/bin/flex - } -} - -freebsd* { - QMAKE_LEX = /usr/local/bin/flex -} - -netbsd* { - QMAKE_LEX = /usr/pkg/bin/flex -} - diff --git a/openscad.pro b/openscad.pro index 2c94340c..3896c766 100644 --- a/openscad.pro +++ b/openscad.pro @@ -208,13 +208,8 @@ FORMS += src/MainWindow.ui \ src/parameter/ParameterEntryWidget.ui # AST nodes -win* { - FLEXSOURCES = src/lexer.l - BISONSOURCES = src/parser.y -} else { - LEXSOURCES += src/lexer.l - YACCSOURCES += src/parser.y -} +FLEXSOURCES = src/lexer.l +BISONSOURCES = src/parser.y HEADERS += src/AST.h \ src/ModuleInstantiation.h \