changeset 574:41b6a18ffa0b

GPF rebuild from source: symlink magic to fix __FILE__ With this fix all of the core GPF libraries (frame_*, misc_* and tif_*) compile into objects that perfectly match the original TCS211 binary versions bit for bit. Prior to this fix there was an issue with TI's use of __FILE__ expanding into longer pathnames that were an artifact of our FC Magnetite build system, and it appears that these longer __FILE__ strings in GPF may have been causing some breakage in some error handling paths.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 24 Jan 2019 23:26:51 +0000 (2019-01-24)
parents deabd7b91828
children 0198ac1e1a4f
files components/frame_na7_db_fl-full components/frame_na7_db_fl-partial components/frame_na7_db_ir-full components/frame_na7_db_ir-partial components/tif_na7_db_fl components/tif_na7_db_ir scripts/mk-component.sh
diffstat 7 files changed, 89 insertions(+), 70 deletions(-) [+]
line wrap: on
line diff
--- a/components/frame_na7_db_fl-full	Sun Jan 13 04:50:38 2019 +0000
+++ b/components/frame_na7_db_fl-full	Thu Jan 24 23:26:51 2019 +0000
@@ -20,20 +20,20 @@
 
 SRCDIR=$SRC/gpf3/frame
 
-cfile_plain $SRCDIR/frame.c
-cfile_plain $SRCDIR/vsi_sem.c
-cfile_plain $SRCDIR/vsi_com.c
-cfile_plain $SRCDIR/vsi_mem.c
-cfile_plain $SRCDIR/vsi_tim.c
-cfile_plain $SRCDIR/vsi_mis.c
-cfile_plain $SRCDIR/vsi_drv.c
-cfile_plain $SRCDIR/vsi_trc.c
-cfile_plain $SRCDIR/vsi_pro.c
-cfile_plain $SRCDIR/xalert.c
-cfile_plain $SRCDIR/route.c
-cfile_plain $SRCDIR/prf_func.c
-cfile_plain $SRCDIR/frm_ext.c
-cfile_plain $SRCDIR/frame_version.c
+cfile_symlink $SRCDIR/frame.c
+cfile_symlink $SRCDIR/vsi_sem.c
+cfile_symlink $SRCDIR/vsi_com.c
+cfile_symlink $SRCDIR/vsi_mem.c
+cfile_symlink $SRCDIR/vsi_tim.c
+cfile_symlink $SRCDIR/vsi_mis.c
+cfile_symlink $SRCDIR/vsi_drv.c
+cfile_symlink $SRCDIR/vsi_trc.c
+cfile_symlink $SRCDIR/vsi_pro.c
+cfile_symlink $SRCDIR/xalert.c
+cfile_symlink $SRCDIR/route.c
+cfile_symlink $SRCDIR/prf_func.c
+cfile_symlink $SRCDIR/frm_ext.c
+cfile_symlink $SRCDIR/frame_version.c
 
 # OSL
 
--- a/components/frame_na7_db_fl-partial	Sun Jan 13 04:50:38 2019 +0000
+++ b/components/frame_na7_db_fl-partial	Thu Jan 24 23:26:51 2019 +0000
@@ -20,20 +20,20 @@
 
 SRCDIR=$SRC/gpf3/frame
 
-cfile_plain $SRCDIR/frame.c
-cfile_plain $SRCDIR/vsi_sem.c
-cfile_plain $SRCDIR/vsi_com.c
-cfile_plain $SRCDIR/vsi_mem.c
-cfile_plain $SRCDIR/vsi_tim.c
-cfile_plain $SRCDIR/vsi_mis.c
-cfile_plain $SRCDIR/vsi_drv.c
-cfile_plain $SRCDIR/vsi_trc.c
-cfile_plain $SRCDIR/vsi_pro.c
-cfile_plain $SRCDIR/xalert.c
-cfile_plain $SRCDIR/route.c
-cfile_plain $SRCDIR/prf_func.c
-cfile_plain $SRCDIR/frm_ext.c
-cfile_plain $SRCDIR/frame_version.c
+cfile_symlink $SRCDIR/frame.c
+cfile_symlink $SRCDIR/vsi_sem.c
+cfile_symlink $SRCDIR/vsi_com.c
+cfile_symlink $SRCDIR/vsi_mem.c
+cfile_symlink $SRCDIR/vsi_tim.c
+cfile_symlink $SRCDIR/vsi_mis.c
+cfile_symlink $SRCDIR/vsi_drv.c
+cfile_symlink $SRCDIR/vsi_trc.c
+cfile_symlink $SRCDIR/vsi_pro.c
+cfile_symlink $SRCDIR/xalert.c
+cfile_symlink $SRCDIR/route.c
+cfile_symlink $SRCDIR/prf_func.c
+cfile_symlink $SRCDIR/frm_ext.c
+cfile_symlink $SRCDIR/frame_version.c
 
 # OSL
 
--- a/components/frame_na7_db_ir-full	Sun Jan 13 04:50:38 2019 +0000
+++ b/components/frame_na7_db_ir-full	Thu Jan 24 23:26:51 2019 +0000
@@ -20,20 +20,20 @@
 
 SRCDIR=$SRC/gpf3/frame
 
-cfile_plain $SRCDIR/frame.c
-cfile_plain $SRCDIR/vsi_sem.c
-cfile_plain $SRCDIR/vsi_com.c
-cfile_plain $SRCDIR/vsi_mem.c
-cfile_plain $SRCDIR/vsi_tim.c
-cfile_plain $SRCDIR/vsi_mis.c
-cfile_plain $SRCDIR/vsi_drv.c
-cfile_plain $SRCDIR/vsi_trc.c
-cfile_plain $SRCDIR/vsi_pro.c
-cfile_plain $SRCDIR/xalert.c
-cfile_plain $SRCDIR/route.c
-cfile_plain $SRCDIR/prf_func.c
-cfile_plain $SRCDIR/frm_ext.c
-cfile_plain $SRCDIR/frame_version.c
+cfile_symlink $SRCDIR/frame.c
+cfile_symlink $SRCDIR/vsi_sem.c
+cfile_symlink $SRCDIR/vsi_com.c
+cfile_symlink $SRCDIR/vsi_mem.c
+cfile_symlink $SRCDIR/vsi_tim.c
+cfile_symlink $SRCDIR/vsi_mis.c
+cfile_symlink $SRCDIR/vsi_drv.c
+cfile_symlink $SRCDIR/vsi_trc.c
+cfile_symlink $SRCDIR/vsi_pro.c
+cfile_symlink $SRCDIR/xalert.c
+cfile_symlink $SRCDIR/route.c
+cfile_symlink $SRCDIR/prf_func.c
+cfile_symlink $SRCDIR/frm_ext.c
+cfile_symlink $SRCDIR/frame_version.c
 
 # OSL
 
--- a/components/frame_na7_db_ir-partial	Sun Jan 13 04:50:38 2019 +0000
+++ b/components/frame_na7_db_ir-partial	Thu Jan 24 23:26:51 2019 +0000
@@ -20,20 +20,20 @@
 
 SRCDIR=$SRC/gpf3/frame
 
-cfile_plain $SRCDIR/frame.c
-cfile_plain $SRCDIR/vsi_sem.c
-cfile_plain $SRCDIR/vsi_com.c
-cfile_plain $SRCDIR/vsi_mem.c
-cfile_plain $SRCDIR/vsi_tim.c
-cfile_plain $SRCDIR/vsi_mis.c
-cfile_plain $SRCDIR/vsi_drv.c
-cfile_plain $SRCDIR/vsi_trc.c
-cfile_plain $SRCDIR/vsi_pro.c
-cfile_plain $SRCDIR/xalert.c
-cfile_plain $SRCDIR/route.c
-cfile_plain $SRCDIR/prf_func.c
-cfile_plain $SRCDIR/frm_ext.c
-cfile_plain $SRCDIR/frame_version.c
+cfile_symlink $SRCDIR/frame.c
+cfile_symlink $SRCDIR/vsi_sem.c
+cfile_symlink $SRCDIR/vsi_com.c
+cfile_symlink $SRCDIR/vsi_mem.c
+cfile_symlink $SRCDIR/vsi_tim.c
+cfile_symlink $SRCDIR/vsi_mis.c
+cfile_symlink $SRCDIR/vsi_drv.c
+cfile_symlink $SRCDIR/vsi_trc.c
+cfile_symlink $SRCDIR/vsi_pro.c
+cfile_symlink $SRCDIR/xalert.c
+cfile_symlink $SRCDIR/route.c
+cfile_symlink $SRCDIR/prf_func.c
+cfile_symlink $SRCDIR/frm_ext.c
+cfile_symlink $SRCDIR/frame_version.c
 
 # OSL
 
--- a/components/tif_na7_db_fl	Sun Jan 13 04:50:38 2019 +0000
+++ b/components/tif_na7_db_fl	Thu Jan 24 23:26:51 2019 +0000
@@ -35,10 +35,13 @@
 
 SRCDIR=$SRC/gpf2/tst
 
-cfile_plain $SRCDIR/drv/tr2.c
-cfile_plain $SRCDIR/drv/tif2.c
-cfile_plain $SRCDIR/drv/ser_tr.c
-cfile_plain $SRCDIR/drv/titrc.c
-cfile_plain $SRCDIR/tst_pei.c
-cfile_plain $SRCDIR/tstdriver.c
-cfile_plain $SRCDIR/tif_version.c
+ln -sf $SRCDIR/drv $BUILD_DIR/$LIBNAME
+
+cfile_plain ./drv/tr2.c
+cfile_plain ./drv/tif2.c
+cfile_plain ./drv/ser_tr.c
+cfile_plain ./drv/titrc.c
+
+cfile_symlink $SRCDIR/tst_pei.c
+cfile_symlink $SRCDIR/tstdriver.c
+cfile_symlink $SRCDIR/tif_version.c
--- a/components/tif_na7_db_ir	Sun Jan 13 04:50:38 2019 +0000
+++ b/components/tif_na7_db_ir	Thu Jan 24 23:26:51 2019 +0000
@@ -35,10 +35,13 @@
 
 SRCDIR=$SRC/gpf2/tst
 
-cfile_plain $SRCDIR/drv/tr2.c
-cfile_plain $SRCDIR/drv/tif2.c
-cfile_plain $SRCDIR/drv/ser_tr.c
-cfile_plain $SRCDIR/drv/titrc.c
-cfile_plain $SRCDIR/tst_pei.c
-cfile_plain $SRCDIR/tstdriver.c
-cfile_plain $SRCDIR/tif_version.c
+ln -sf $SRCDIR/drv $BUILD_DIR/$LIBNAME
+
+cfile_plain ./drv/tr2.c
+cfile_plain ./drv/tif2.c
+cfile_plain ./drv/ser_tr.c
+cfile_plain ./drv/titrc.c
+
+cfile_symlink $SRCDIR/tst_pei.c
+cfile_symlink $SRCDIR/tstdriver.c
+cfile_symlink $SRCDIR/tif_version.c
--- a/scripts/mk-component.sh	Sun Jan 13 04:50:38 2019 +0000
+++ b/scripts/mk-component.sh	Thu Jan 24 23:26:51 2019 +0000
@@ -142,6 +142,19 @@
 	fi
 }
 
+cfile_symlink() {
+	if [ $# != 1 ]
+	then
+		echo "Error: cfile_symlink takes 1 argument" 1>&2
+		exit 1
+	fi
+	localcopy=`basename "$1"`
+	helpers/makeline dep $localcopy "$1" >> $BUILD_DIR/$LIBNAME/Makefile
+	helpers/makeline cmd ln -s "$1" . >> $BUILD_DIR/$LIBNAME/Makefile
+	echo >> $BUILD_DIR/$LIBNAME/Makefile
+	cfile_plain $localcopy
+}
+
 # invoke the recipe
 
 SRC=../../src