bba: Require explicit endianness flag, and supply it

Signed-off-by: Marcus Comstedt <marcus@mc.pp.se>
This commit is contained in:
Marcus Comstedt 2019-09-15 12:30:03 +02:00
parent dd40c41ffc
commit 3d9ce8836c
4 changed files with 16 additions and 12 deletions

View File

@ -11,3 +11,11 @@ ENDIF(NOT CMAKE_CROSSCOMPILING)
IF(NOT CMAKE_CROSSCOMPILING)
EXPORT(TARGETS bbasm FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake )
ENDIF(NOT CMAKE_CROSSCOMPILING)
include(TestBigEndian)
TEST_BIG_ENDIAN(IS_BIG_ENDIAN)
if(IS_BIG_ENDIAN)
set(BBASM_ENDIAN_FLAG "--be")
else()
set(BBASM_ENDIAN_FLAG "--le")
endif()

View File

@ -66,12 +66,6 @@ const char *skipWhitespace(const char *p)
return p;
}
bool testBigEndian()
{
int n = 1;
return !*(const char *)&n;
}
int main(int argc, char **argv)
{
bool debug = false;
@ -115,8 +109,10 @@ int main(int argc, char **argv)
bigEndian = true;
else if (vm.count("le"))
bigEndian = false;
else
bigEndian = testBigEndian();
else {
printf("Endian parameter is mandatory\n");
exit(-1);
}
if (vm.count("c"))
writeC = true;

View File

@ -45,7 +45,7 @@ if (NOT EXTERNAL_CHIPDB)
DEPENDS ${DB_PY} ${PREV_DEV_CC_BBA_DB}
)
add_custom_command(OUTPUT ${DEV_CC_DB}
COMMAND bbasm ${DEV_CC_BBA_DB} ${DEV_CC_DB}
COMMAND bbasm ${BBASM_ENDIAN_FLAG} ${DEV_CC_BBA_DB} ${DEV_CC_DB}
DEPENDS bbasm ${DEV_CC_BBA_DB}
)
if (SERIALIZE_CHIPDB)
@ -70,7 +70,7 @@ if (NOT EXTERNAL_CHIPDB)
DEPENDS ${DB_PY} ${PREV_DEV_CC_BBA_DB}
)
add_custom_command(OUTPUT ${DEV_CC_DB}
COMMAND bbasm --c ${DEV_CC_BBA_DB} ${DEV_CC_DB}.new
COMMAND bbasm --c ${BBASM_ENDIAN_FLAG} ${DEV_CC_BBA_DB} ${DEV_CC_DB}.new
COMMAND mv ${DEV_CC_DB}.new ${DEV_CC_DB}
DEPENDS bbasm ${DEV_CC_BBA_DB}
)

View File

@ -44,7 +44,7 @@ if (NOT EXTERNAL_CHIPDB)
DEPENDS ${DEV_CONSTIDS_INC} ${DEV_GFXH} ${DEV_TXT_DB} ${DB_PY} ${PREV_DEV_CC_BBA_DB}
)
add_custom_command(OUTPUT ${DEV_CC_DB}
COMMAND bbasm ${DEV_CC_BBA_DB} ${DEV_CC_DB}
COMMAND bbasm ${BBASM_ENDIAN_FLAG} ${DEV_CC_BBA_DB} ${DEV_CC_DB}
DEPENDS bbasm ${DEV_CC_BBA_DB}
)
if (SERIALIZE_CHIPDB)
@ -84,7 +84,7 @@ if (NOT EXTERNAL_CHIPDB)
DEPENDS ${DEV_CONSTIDS_INC} ${DEV_GFXH} ${DEV_TXT_DB} ${DB_PY} ${PREV_DEV_CC_BBA_DB}
)
add_custom_command(OUTPUT ${DEV_CC_DB}
COMMAND bbasm --c ${DEV_CC_BBA_DB} ${DEV_CC_DB}.new
COMMAND bbasm --c ${BBASM_ENDIAN_FLAG} ${DEV_CC_BBA_DB} ${DEV_CC_DB}.new
COMMAND mv ${DEV_CC_DB}.new ${DEV_CC_DB}
DEPENDS bbasm ${DEV_CC_BBA_DB}
)