RE: Patch to makefile-temp
FYI I have made a trial with a close to latest version of EMACS and that does not change what I get. Vincent. From: vincent@hotmail.fr To: ba...@cs.nuim.ie Subject: RE: Patch to makefile-temp Date: Wed, 4 Jun 2014 17:07:54 +0200 CC: bbdb-info@lists.sourceforge.net Just to say that replacing `pwd` by $(CURDIR) and using mingw32-make does not make it either, I still have that: LC_ALL=C c:/Programme/GNU/Emacs_build20130408/bin/emacs.exe --batch --directory=./ -l autoload \ --eval '(setq generated-autoload-file c:/Programme/GNU/installation/bbdb-git/bbdb/lisp/bbdb-loaddefs.el)' \ --eval '(setq make-backup-files nil)' \ -f batch-update-autoloads c:/Programme/GNU/installation/bbdb-git/bbdb/lisp Generating autoloads for ../../../../bbdb-git/bbdb/lisp/bbdb-loaddefs.el... Generating autoloads for ../../../../bbdb-git/bbdb/lisp/bbdb-loaddefs.el...done Saving file c:/Programme/GNU/installation/emacs-install/emacs/trunk/lisp/c;c:msys.0ProgrammeGNUinstallatiobdb-gibdblisbdb-loaddefs.el... that is to say c:/Programme/GNU/installation/bbdb-git/bbdb/lisp/bbdb-loaddefs.el is expanded for some reason by my EMACS version into c:/Programme/GNU/installation/emacs-install/emacs/trunk/lisp/c;c:msys.0ProgrammeGNUinstallatiobdb-gibdblisbdb-loaddefs.el I do not know why this happens and whether that would still happen with the latest version of EMACS. Maybe this is due to my using a non releast EMACS --- one that was built from repo one year or so ago. VBR, Vincent. From: vincent@hotmail.fr To: ba...@cs.nuim.ie CC: bbdb-info@lists.sourceforge.net Subject: RE: Patch to makefile-temp Date: Wed, 4 Jun 2014 15:24:38 +0200 That has not to do with autoload tools, but with not using them. The makefile-temp is not automatically generated by autoload tools, it is a plain makefile that does not work in all cases --- at least it does not work on MSWindows XP as far as I can say. I was proposing a fix which I had done for myself, while trying to keep backward compatibility, but it seems that this fix is too complex, I do not argue. The best way would anyway have been to use autoload --- or some other build system that is platform independent (EDE ?). Or maybe there can be alternative fixes simpler than what I had put forward (using mingw32-make instead of msys make and $(CURDIR) instead of `pwd` would probably make it, but I did not try...) Vincent. Date: Wed, 4 Jun 2014 11:29:38 +0100 Subject: Re: Patch to makefile-temp From: ba...@cs.nuim.ie To: vincent@hotmail.fr CC: bbdb-info@lists.sourceforge.net If the autotools-based stuff doesn't work on MSWindows, please report the details. That would be a bug, and we should be able to fix it, because autotools-generated scripts are intended to work in that environment (given an installed bourne-compatible shell, and make), and they are doing nothing fancy here. If it is an issue of various support programs being necessary (texinfo stuff, for example), we could try to add options like ./configure --disable-texinfo or such, and default them to off if the support programs are unavailable. If it is a problem with filenames, that could probably be fixed with appropriate machinations. Is it having trouble finding the Emacs executable? That would be a bug in some m4 macros. Anyway, we should arrange things so autotools works on MSWindows. --Barak. -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech ___ bbdb-info@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bbdb-info BBDB Home Page: http://bbdb.sourceforge.net/ -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft ___ bbdb-info@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bbdb-info BBDB Home Page: http://bbdb.sourceforge.net/
Re: Patch to makefile-temp
If the autotools-based stuff doesn't work on MSWindows, please report the details. That would be a bug, and we should be able to fix it, because autotools-generated scripts are intended to work in that environment (given an installed bourne-compatible shell, and make), and they are doing nothing fancy here. If it is an issue of various support programs being necessary (texinfo stuff, for example), we could try to add options like ./configure --disable-texinfo or such, and default them to off if the support programs are unavailable. If it is a problem with filenames, that could probably be fixed with appropriate machinations. Is it having trouble finding the Emacs executable? That would be a bug in some m4 macros. Anyway, we should arrange things so autotools works on MSWindows. --Barak. -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech ___ bbdb-info@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bbdb-info BBDB Home Page: http://bbdb.sourceforge.net/
RE: Patch to makefile-temp
That has not to do with autoload tools, but with not using them. The makefile-temp is not automatically generated by autoload tools, it is a plain makefile that does not work in all cases --- at least it does not work on MSWindows XP as far as I can say. I was proposing a fix which I had done for myself, while trying to keep backward compatibility, but it seems that this fix is too complex, I do not argue. The best way would anyway have been to use autoload --- or some other build system that is platform independent (EDE ?). Or maybe there can be alternative fixes simpler than what I had put forward (using mingw32-make instead of msys make and $(CURDIR) instead of `pwd` would probably make it, but I did not try...) Vincent. Date: Wed, 4 Jun 2014 11:29:38 +0100 Subject: Re: Patch to makefile-temp From: ba...@cs.nuim.ie To: vincent@hotmail.fr CC: bbdb-info@lists.sourceforge.net If the autotools-based stuff doesn't work on MSWindows, please report the details. That would be a bug, and we should be able to fix it, because autotools-generated scripts are intended to work in that environment (given an installed bourne-compatible shell, and make), and they are doing nothing fancy here. If it is an issue of various support programs being necessary (texinfo stuff, for example), we could try to add options like ./configure --disable-texinfo or such, and default them to off if the support programs are unavailable. If it is a problem with filenames, that could probably be fixed with appropriate machinations. Is it having trouble finding the Emacs executable? That would be a bug in some m4 macros. Anyway, we should arrange things so autotools works on MSWindows. --Barak. -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech ___ bbdb-info@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bbdb-info BBDB Home Page: http://bbdb.sourceforge.net/
RE: Patch to makefile-temp
Just to say that replacing `pwd` by $(CURDIR) and using mingw32-make does not make it either, I still have that: LC_ALL=C c:/Programme/GNU/Emacs_build20130408/bin/emacs.exe --batch --directory=./ -l autoload \ --eval '(setq generated-autoload-file c:/Programme/GNU/installation/bbdb-git/bbdb/lisp/bbdb-loaddefs.el)' \ --eval '(setq make-backup-files nil)' \ -f batch-update-autoloads c:/Programme/GNU/installation/bbdb-git/bbdb/lisp Generating autoloads for ../../../../bbdb-git/bbdb/lisp/bbdb-loaddefs.el... Generating autoloads for ../../../../bbdb-git/bbdb/lisp/bbdb-loaddefs.el...done Saving file c:/Programme/GNU/installation/emacs-install/emacs/trunk/lisp/c;c:msys.0ProgrammeGNUinstallatiobdb-gibdblisbdb-loaddefs.el... that is to say c:/Programme/GNU/installation/bbdb-git/bbdb/lisp/bbdb-loaddefs.el is expanded for some reason by my EMACS version into c:/Programme/GNU/installation/emacs-install/emacs/trunk/lisp/c;c:msys.0ProgrammeGNUinstallatiobdb-gibdblisbdb-loaddefs.el I do not know why this happens and whether that would still happen with the latest version of EMACS. Maybe this is due to my using a non releast EMACS --- one that was built from repo one year or so ago. VBR, Vincent. From: vincent@hotmail.fr To: ba...@cs.nuim.ie CC: bbdb-info@lists.sourceforge.net Subject: RE: Patch to makefile-temp Date: Wed, 4 Jun 2014 15:24:38 +0200 That has not to do with autoload tools, but with not using them. The makefile-temp is not automatically generated by autoload tools, it is a plain makefile that does not work in all cases --- at least it does not work on MSWindows XP as far as I can say. I was proposing a fix which I had done for myself, while trying to keep backward compatibility, but it seems that this fix is too complex, I do not argue. The best way would anyway have been to use autoload --- or some other build system that is platform independent (EDE ?). Or maybe there can be alternative fixes simpler than what I had put forward (using mingw32-make instead of msys make and $(CURDIR) instead of `pwd` would probably make it, but I did not try...) Vincent. Date: Wed, 4 Jun 2014 11:29:38 +0100 Subject: Re: Patch to makefile-temp From: ba...@cs.nuim.ie To: vincent@hotmail.fr CC: bbdb-info@lists.sourceforge.net If the autotools-based stuff doesn't work on MSWindows, please report the details. That would be a bug, and we should be able to fix it, because autotools-generated scripts are intended to work in that environment (given an installed bourne-compatible shell, and make), and they are doing nothing fancy here. If it is an issue of various support programs being necessary (texinfo stuff, for example), we could try to add options like ./configure --disable-texinfo or such, and default them to off if the support programs are unavailable. If it is a problem with filenames, that could probably be fixed with appropriate machinations. Is it having trouble finding the Emacs executable? That would be a bug in some m4 macros. Anyway, we should arrange things so autotools works on MSWindows. --Barak. -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech ___ bbdb-info@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bbdb-info BBDB Home Page: http://bbdb.sourceforge.net/
Re: Patch to makefile-temp
Hello Roland, The 1st question should be why I don't simply use only forward slashes under MSYS. As you know forward slashes are supported by MSWindows. This is a separate issue from converting from an MSYS path like (call it /p/ ): /c/Programme/GNU/installation/bbdb-git/bbdb/lisp to a MSWindows path like (call it p:/ ) c:/Programme/GNU/installation/bbdb-git/bbdb/lisp but also for purists (call it p:\ ): c:\Programme\GNU\installation\bbdb-git\bbdb\lisp EMACS does not understand /p/ paths, so I need to convert to p:\ or p:/. Using p:/ would have been simpler and was supposed to work all the same, however, the thing is that when I used the p:/ way instead of the p:\ way, then I got this message: Saving file c:/Programme/GNU/installation/emacs-install/emacs/trunk/lisp/c;c:msys.0ProgrammeGNUinstallatiobdb-gibdblisbdb-loaddefs.el... Wrote c:/Programme/GNU/installation/emacs-install/emacs/trunk/lisp/c;c:msys.0ProgrammeGNUinstallatiobdb-gibdblisbdb-loaddefs.el which shows that the generated bbdb-loaddefs.el seems not to go to the right place. It seems therefore that my EMACS does some path processing that interpretes the p:/ absolute path of the bbdb-loaddefs.el like a unix list of pathes... Maybe there is something wrong with my EMACS version, this is a build from source that is approximately one year old. I know that there has been changes in EMACS so that the build under MSWindows is made with MSYS --- before there was some DOS batch to do that. Maybe this problem that calls for p:\ instead of simply using p:/ would not happen with a more recent or older version of EMACS. Anyway, you are right in mentioning that my patch has some border effect on other systems than MSYS. Please find herein attached an updated patch. Vincent Roland Winkler a écrit : On Mon Jun 2 2014 Vincent Belaïche wrote: ---eval '(setq generated-autoload-file '`pwd`/$@')' \ +--eval '(setq generated-autoload-file $(cur_dir)\\$@)' \ How is the backslash supposed to work on unix-like systems? Am I missing something? diff --git a/lisp/makefile-temp b/lisp/makefile-temp index 48daf1d..c2ad518 100644 --- a/lisp/makefile-temp +++ b/lisp/makefile-temp @@ -23,6 +23,17 @@ # This file can compile BBDB's lisp code on most systems. Yet it is not # intended to be foolproof! +# For building under MSYS export OSTYPE to msys + +ifeq ($(OSTYPE),msys) +# file separator must be escaped for lisp strings + cur_dir=$(shell pwd -W | sed 's!/!!g') + fs=\\ +else + cur_dir=$(CURDIR) + fs=/ +endif + srcdir = . prefix = /usr/local lispdir = $(DESTDIR)/usr/local/share/emacs/site-lisp/bbdb @@ -87,9 +98,9 @@ bbdb-loaddefs.el: $(SRCS) # Generated autoload-file must have an absolute path, # $(srcdir) can be relative. $(emacs) -l autoload \ - --eval '(setq generated-autoload-file '`pwd`/$@')' \ + --eval '(setq generated-autoload-file $(cur_dir)$(fs)$@)' \ --eval '(setq make-backup-files nil)' \ - -f batch-update-autoloads `pwd` + -f batch-update-autoloads $(cur_dir) .PHONY: no-bbdb-loaddefs no-bbdb-loaddefs: -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech___ bbdb-info@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bbdb-info BBDB Home Page: http://bbdb.sourceforge.net/
Re: Patch to makefile-temp
On Tue Jun 3 2014 Vincent Belaïche wrote: Anyway, you are right in mentioning that my patch has some border effect on other systems than MSYS. Please find herein attached an updated patch. I am sorry, I am still not excited about this. The idea about lisp/makefile-temp has been to keep it plain and simple (as compared with the autotools stuff that has its own twists). Yet your code uses syntax specific for GNU Make (ifeq and CURDIR). Sure, it's possible to work around it and turn this file into a fancy Makefile with all bells and whistles that cover all possibilities. But that has Not been the goal here and I do not want to get lost in such an effort. I am sorry! -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech ___ bbdb-info@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bbdb-info BBDB Home Page: http://bbdb.sourceforge.net/
Re: Patch to makefile-temp
Sorry for the mistake, my intention was to send the diff file, not the modified makefile-temp. Hello, Not sure whether I have ever submitted this. This patch is supposed to smooth installation from repo with Windows + MSYS, without any border effect when MSYS is not there. Backward compatility is ensured by testing environment variable OSTYPE to be msys --- which is supposed to be the case under MSYS. VBR, Vincent. diff --git a/lisp/makefile-temp b/lisp/makefile-temp index 48daf1d..ecfa0c7 100644 --- a/lisp/makefile-temp +++ b/lisp/makefile-temp @@ -23,6 +23,14 @@ # This file can compile BBDB's lisp code on most systems. Yet it is not # intended to be foolproof! +# For building under MSYS export OSTYPE to msys + +ifeq ($(OSTYPE),msys) + cur_dir=$(shell pwd -W | sed 's!/!!g') +else + cur_dir=$(CURDIR) +endif + srcdir = . prefix = /usr/local lispdir = $(DESTDIR)/usr/local/share/emacs/site-lisp/bbdb @@ -87,9 +95,9 @@ bbdb-loaddefs.el: $(SRCS) # Generated autoload-file must have an absolute path, # $(srcdir) can be relative. $(emacs) -l autoload \ - --eval '(setq generated-autoload-file '`pwd`/$@')' \ + --eval '(setq generated-autoload-file $(cur_dir)\\$@)' \ --eval '(setq make-backup-files nil)' \ - -f batch-update-autoloads `pwd` + -f batch-update-autoloads $(cur_dir) .PHONY: no-bbdb-loaddefs no-bbdb-loaddefs: -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech___ bbdb-info@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bbdb-info BBDB Home Page: http://bbdb.sourceforge.net/
Re: Patch to makefile-temp
On Mon Jun 2 2014 Vincent Belaïche wrote: - --eval '(setq generated-autoload-file '`pwd`/$@')' \ + --eval '(setq generated-autoload-file $(cur_dir)\\$@)' \ How is the backslash supposed to work on unix-like systems? Am I missing something? -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech ___ bbdb-info@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bbdb-info BBDB Home Page: http://bbdb.sourceforge.net/