bba: Require explicit endianness flag, and supply it
Signed-off-by: Marcus Comstedt <marcus@mc.pp.se>
This commit is contained in:
parent
dd40c41ffc
commit
3d9ce8836c
@ -11,3 +11,11 @@ ENDIF(NOT CMAKE_CROSSCOMPILING)
|
|||||||
IF(NOT CMAKE_CROSSCOMPILING)
|
IF(NOT CMAKE_CROSSCOMPILING)
|
||||||
EXPORT(TARGETS bbasm FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake )
|
EXPORT(TARGETS bbasm FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake )
|
||||||
ENDIF(NOT CMAKE_CROSSCOMPILING)
|
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()
|
||||||
|
12
bba/main.cc
12
bba/main.cc
@ -66,12 +66,6 @@ const char *skipWhitespace(const char *p)
|
|||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool testBigEndian()
|
|
||||||
{
|
|
||||||
int n = 1;
|
|
||||||
return !*(const char *)&n;
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
bool debug = false;
|
bool debug = false;
|
||||||
@ -115,8 +109,10 @@ int main(int argc, char **argv)
|
|||||||
bigEndian = true;
|
bigEndian = true;
|
||||||
else if (vm.count("le"))
|
else if (vm.count("le"))
|
||||||
bigEndian = false;
|
bigEndian = false;
|
||||||
else
|
else {
|
||||||
bigEndian = testBigEndian();
|
printf("Endian parameter is mandatory\n");
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
if (vm.count("c"))
|
if (vm.count("c"))
|
||||||
writeC = true;
|
writeC = true;
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ if (NOT EXTERNAL_CHIPDB)
|
|||||||
DEPENDS ${DB_PY} ${PREV_DEV_CC_BBA_DB}
|
DEPENDS ${DB_PY} ${PREV_DEV_CC_BBA_DB}
|
||||||
)
|
)
|
||||||
add_custom_command(OUTPUT ${DEV_CC_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}
|
DEPENDS bbasm ${DEV_CC_BBA_DB}
|
||||||
)
|
)
|
||||||
if (SERIALIZE_CHIPDB)
|
if (SERIALIZE_CHIPDB)
|
||||||
@ -70,7 +70,7 @@ if (NOT EXTERNAL_CHIPDB)
|
|||||||
DEPENDS ${DB_PY} ${PREV_DEV_CC_BBA_DB}
|
DEPENDS ${DB_PY} ${PREV_DEV_CC_BBA_DB}
|
||||||
)
|
)
|
||||||
add_custom_command(OUTPUT ${DEV_CC_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}
|
COMMAND mv ${DEV_CC_DB}.new ${DEV_CC_DB}
|
||||||
DEPENDS bbasm ${DEV_CC_BBA_DB}
|
DEPENDS bbasm ${DEV_CC_BBA_DB}
|
||||||
)
|
)
|
||||||
|
@ -44,7 +44,7 @@ if (NOT EXTERNAL_CHIPDB)
|
|||||||
DEPENDS ${DEV_CONSTIDS_INC} ${DEV_GFXH} ${DEV_TXT_DB} ${DB_PY} ${PREV_DEV_CC_BBA_DB}
|
DEPENDS ${DEV_CONSTIDS_INC} ${DEV_GFXH} ${DEV_TXT_DB} ${DB_PY} ${PREV_DEV_CC_BBA_DB}
|
||||||
)
|
)
|
||||||
add_custom_command(OUTPUT ${DEV_CC_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}
|
DEPENDS bbasm ${DEV_CC_BBA_DB}
|
||||||
)
|
)
|
||||||
if (SERIALIZE_CHIPDB)
|
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}
|
DEPENDS ${DEV_CONSTIDS_INC} ${DEV_GFXH} ${DEV_TXT_DB} ${DB_PY} ${PREV_DEV_CC_BBA_DB}
|
||||||
)
|
)
|
||||||
add_custom_command(OUTPUT ${DEV_CC_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}
|
COMMAND mv ${DEV_CC_DB}.new ${DEV_CC_DB}
|
||||||
DEPENDS bbasm ${DEV_CC_BBA_DB}
|
DEPENDS bbasm ${DEV_CC_BBA_DB}
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user