Index: trunk/psLib/src/sys/Makefile.am
===================================================================
--- trunk/psLib/src/sys/Makefile.am	(revision 23787)
+++ trunk/psLib/src/sys/Makefile.am	(revision 23793)
@@ -3,10 +3,26 @@
 noinst_LTLIBRARIES = libpslibsys.la
 
+if HAVE_SVNVERSION
+PSLIB_VERSION=`$(SVNVERSION) ../..`
+else
+PSLIB_VERSION="UNKNOWN"
+endif
+
+if HAVE_SVN
+PSLIB_BRANCH=`$(SVN) info ../.. | $(SED) -n -e '/URL:/ h' -e '/Repository Root:/ { x; H; x; s|Repository Root: \(.*\)\nURL: \1\(.*\)|\2| ; s|^/|| ; s|/[a-zA-Z]*/src.*|| ; p }'`
+PSLIB_SOURCE=`$(SVN) info | $(SED) -n -e 's/Repository UUID: // p'`
+else
+PSLIB_BRANCH="UNKNOWN"
+PSLIB_SOURCE="UNKNOWN"
+endif
+
 # Force recompilation of psConfigure.c, since it gets the version information
-psConfigure.c: FORCE
-	touch psConfigure.c
+psConfigure.c: psVersionDefinitions.h
+psVersionDefinitions.h: psVersionDefinitions.h.in FORCE
+	-$(RM) psVersionDefinitions.h
+	$(SED) -e "s|@PSLIB_VERSION@|\"$(PSLIB_VERSION)\"|" -e "s|@PSLIB_BRANCH@|\"$(PSLIB_BRANCH)\"|" -e "s|@PSLIB_SOURCE@|\"$(PSLIB_SOURCE)\"|" psVersionDefinitions.h.in > psVersionDefinitions.h
 FORCE: ;
 
-libpslibsys_la_CPPFLAGS = $(SRCINC) $(PSLIB_CFLAGS) $(CFITSIO_CFLAGS) -DPSLIB_VERSION=$(PSLIB_VERSION) -DPSLIB_BRANCH=$(PSLIB_BRANCH) -DPSLIB_SOURCE=$(PSLIB_SOURCE)
+libpslibsys_la_CPPFLAGS = $(SRCINC) $(PSLIB_CFLAGS) $(CFITSIO_CFLAGS)
 libpslibsys_la_SOURCES = \
 	psAbort.c \
@@ -24,7 +40,7 @@
 	strcasestr.c
 
-EXTRA_DIST = sys.i psErrorCodes.c.in psErrorCodes.h.in
+EXTRA_DIST = sys.i psErrorCodes.c.in psErrorCodes.h.in psVersion.h
 
-BUILT_SOURCES = psErrorCodes.c
+BUILT_SOURCES = psErrorCodes.c psVersion.h
 
 psErrorCodes.c: ../psErrorCodes_$(PS_LANG).dat psErrorCodes.c.in psErrorCodes.h
