Description: Fix for reprotest
 Fix for reprotest, use -fPIC for lisp/image/jpeg, need to reset gensym number
 so that it generate same functiaon name for compiled code.
 .
 euslisp (9.27-1) unstable; urgency=low
 .
Author: Kei Okada <kei.okada@gmail.com>

---
Origin: other
Reviewed-By: Kei Okada <kei.okada@gmail.com>
Last-Update: 2020-07-02

diff --git a/lisp/image/jpeg/makefile b/lisp/image/jpeg/makefile
index a7396ce..dd18f94 100644
--- a/lisp/image/jpeg/makefile
+++ b/lisp/image/jpeg/makefile
@@ -28,6 +28,8 @@ endif
 else
 CC += -fPIC
 endif
+else
+CC += -fPIC
 endif
 ifeq ($(ARCHDIR), Darwin)
 CC += -I/opt/local/lib/jpeg6b/include -I/opt/local/include
@@ -42,7 +42,7 @@ LIBDIR=$(EUSDIR)/$(ARCH)/lib
 OBJDIR=$(EUSDIR)/$(ARCH)/obj
 OBJFILES= $(OBJDIR)/jpegmemcd.o $(OBJDIR)/jmemsrc.o $(OBJDIR)/jmemdst.o
 $(LIBDIR)/jpegmemcd.$(LSFX):	$(OBJFILES)
-	$(LD) $(LDFLAGS) -o $(LIBDIR)/jpegmemcd.$(LSFX) $(OBJDIR)/jpegmemcd.o $(OBJDIR)/jmemsrc.o $(OBJDIR)/jmemdst.o -ljpeg
+	$(LD) -fPIC $(LDFLAGS) -o $(LIBDIR)/jpegmemcd.$(LSFX) $(OBJDIR)/jpegmemcd.o $(OBJDIR)/jmemsrc.o $(OBJDIR)/jmemdst.o -ljpeg
 
 $(OBJDIR)/jpegmemcd.o:	jpegmemcd.c
 	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $^
diff --git a/lisp/Makefile.generic2 b/lisp/Makefile.generic2
index 0b54100..89005a1 100644
--- a/lisp/Makefile.generic2
+++ b/lisp/Makefile.generic2
@@ -204,7 +204,10 @@
 $(CDIR)/makedate.c: $(filter-out $(CDIR)/makedate.c, $(shell echo $(CDIR)/*.c)) \
 		    $(LDIR)/*.l $(GEODIR)/*.l $(COMPDIR)/*.l \
 		    $(XWINDOWDIR)/*.l $(GLDIR)/*.l
-	( sh tool/makedate > $(CDIR)/makedate.c)
+	( echo "char *makedate=\"$(shell sed -n '0,/^ -- .*<.*>\s*\(.*\)$$/s//\1/p' ../debian/changelog)\";" > $(CDIR)/makedate.c)
+	( echo "char *gitrevision=\"\";" >> $(CDIR)/makedate.c)
+	( echo "char *compilehost=\"\";" >> $(CDIR)/makedate.c)
+	cat $(CDIR)/makedate.c
 
 
 $(BINDIR)/eus0:	$(NOKOBJECTS) $(KOBJECTS) $(KSOBJECTS) $(MTCOBJECTS) $(RGCOBJECTS)\
diff --git a/lisp/comp/comp.l b/lisp/comp/comp.l
index abf7b7b..9206010 100644
--- a/lisp/comp/comp.l
+++ b/lisp/comp/comp.l
@@ -212,12 +212,14 @@
 	    initcodes		;initialize codes in "eusmain"
 	    flets
 	    unwind-frames	;frames need to unwound when jumps
+	    symstr
 	    )))
+(defvar *compiler-symid* 0)
 
 (eval-when (load eval)
 (defmethod compiler
  (:genlabel (head &optional (suffix ""))
-   (concatenate string (string (gensym head)) suffix))
+   (format nil "~A~A~A~A" symstr head (incf *compiler-symid*) suffix))
  (:gencname-tail 
   (&rest lnames)
   ;; NOTE: Deprecated. Use lisp::gencname-tail instead. (2017/10/19 furushchev)
@@ -1226,6 +1228,7 @@
 		 (verbose *verbose*)
 		 (entry (lisp::gencname-tail (pathname-name file)))
 		 (o))
+   (setq symstr (subseq entry 0 8))
    (if (and (integerp c-optimize)
 	    (> c-optimize 0)
 	    ;; (not (member :gcc *features*))
@@ -1429,7 +1432,8 @@
   (setq trans (instantiate  translator)
 	idtable (instance identifier-table :init)
         scope 0
-	closure-level 0)
+	closure-level 0
+	symstr "")
   self)
    ) ; defmethod
 )    ; eval-when
diff --git a/lisp/l/common.l b/lisp/l/common.l
index 4c2c225..c778737 100644
--- a/lisp/l/common.l
+++ b/lisp/l/common.l
@@ -62,11 +62,9 @@
 (defun lisp-implementation-type () "EusLisp")
 (defun lisp-implementation-version ()
 	(format nil
-	        "EusLisp ~A~A for ~A created on ~A(~A)"
+	        "EusLisp ~A for ~A created on ~A"
 		(car lisp-implementation-version)
-		(cdddr lisp-implementation-version)
 		*OS-VERSION*
-		(cadr lisp-implementation-version)
                 (caddr lisp-implementation-version)
                 ))
 (setq euserror nil)
