Re: [patch] Fixing a bug in src/Makefile
Kazunobu Kuriyama wrote: Attached is a patch fixing a (harmless) bug in src/Makefile, due to which src/Makefile fails to remove share/vim/vim73/ftplugin/logtalk.dict when the target 'uninstall' is invoked, thus resulting in incomplete uninstallation. Thanks! -- hundred-and-one symptoms of being an internet addict: 223. You set up a web-cam as your home's security system. /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net \\\ ///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org/// \\\help me help AIDS victims -- http://ICCF-Holland.org/// -- -- You received this message from the vim_dev maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups vim_dev group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Bug in src/Makefile
Bram Moolenaar wrote: Philip Prindeville wrote: Well, this is what I finally ended up using: +--- vim71/src/Makefile.orig 2007-05-12 04:57:13.0 -0700 vim71/src/Makefile2007-12-18 23:39:14.0 -0800 +@@ -1074,8 +1074,10 @@ + # default vi editor, it will create a link from vi to Vim when doing + # make install. An existing file will be overwritten! + # When not using it, some make programs can't handle an undefined $(LINKIT). +-#LINKIT = -ln -f -s $(BINDIR)/$(VIMTARGET) /usr/bin/vi +-LINKIT = @echo /dev/null ++LINKIT_n = @: ++LINKIT_ = $(LINKIT_n) ++LINKIT_y = ln -f -s ++LINKIT = $(LINKIT_$(LINK_TO_VI)) + + ### + ### GRAPHICAL USER INTERFACE (GUI). {{{1 +@@ -1761,7 +1764,7 @@ + $(STRIP) $(DEST_BIN)/$(VIMTARGET) + chmod $(BINMOD) $(DEST_BIN)/$(VIMTARGET) + # may create a link to the new executable from /usr/bin/vi +- -$(LINKIT) ++ -$(LINKIT) $(BINDIR)/$(VIMTARGET) $(DESTDIR)/usr/bin/vi + + # Long list of arguments for the shell script that installs the manual pages + # for one language. Can we get it reviewed, approved, and committed? I prefer having the LINKIT variable have the whole command, so that it can be anything. Having it all in one line is a lot simpler. So I have this now: # If you are using Linux, you might want to use this to make vim the # default vi editor, it will create a link from vi to Vim when doing # make install. An existing file will be overwritten! # When not using it, some make programs can't handle an undefined $(LINKIT). #LINKIT = ln -f -s $(DEST_BIN)/$(VIMTARGET) $(DESTDIR)/usr/bin/vi LINKIT = @echo /dev/null Well, same request applies: LINKIT_y = ln -f -s $(DEST_BIN)/$(VIMTARGET) $(DESTDIR)/usr/bin/vi LINKIT_n = @: LINKIT_ = $(LINKIT_n) LINKIT = $(LINKIT_$(LINK_TO_VI)) This syntax looks invalid, using () inside (). Another GNU make thing? I'm not aware of any versions of Make that don't support it... Except the make that comes with Visual C++. Can we do that instead? I'm trying to have a Makefile (and eventually configure.in) that builds with the fewest numbers of patches applied. We're trying to get it into AstLinux 0.5 trunk, but want to be able to use it without having to apply any patches... since the way AstLinux is built is by scripts that pull down source tarballs and then build them according to prepackaged directions. Updating version numbers is a lot easier than updating patches... If you are making an install script, you are probably much better off when you create the link in the install script. Then you can also keep track of what has been created. Depending on your installer, of course. I'll go back and look at it. What about the changes that I and Tony submitted for cross-compilation? -Philip --~--~-~--~~~---~--~~ You received this message from the vim_dev maillist. For more information, visit http://www.vim.org/maillist.php -~--~~~~--~~--~--~---
Re: Bug in src/Makefile
Tony Mechelynck wrote: Bram Moolenaar wrote: Philip Prindeville wrote: Well, this is what I finally ended up using: +--- vim71/src/Makefile.orig 2007-05-12 04:57:13.0 -0700 vim71/src/Makefile2007-12-18 23:39:14.0 -0800 +@@ -1074,8 +1074,10 @@ + # default vi editor, it will create a link from vi to Vim when doing + # make install. An existing file will be overwritten! + # When not using it, some make programs can't handle an undefined $(LINKIT). +-#LINKIT = -ln -f -s $(BINDIR)/$(VIMTARGET) /usr/bin/vi +-LINKIT = @echo /dev/null ++LINKIT_n = @: ++LINKIT_ = $(LINKIT_n) ++LINKIT_y = ln -f -s ++LINKIT = $(LINKIT_$(LINK_TO_VI)) + + ### + ### GRAPHICAL USER INTERFACE (GUI). {{{1 +@@ -1761,7 +1764,7 @@ + $(STRIP) $(DEST_BIN)/$(VIMTARGET) + chmod $(BINMOD) $(DEST_BIN)/$(VIMTARGET) + # may create a link to the new executable from /usr/bin/vi +- -$(LINKIT) ++ -$(LINKIT) $(BINDIR)/$(VIMTARGET) $(DESTDIR)/usr/bin/vi + + # Long list of arguments for the shell script that installs the manual pages + # for one language. Can we get it reviewed, approved, and committed? I prefer having the LINKIT variable have the whole command, so that it can be anything. Having it all in one line is a lot simpler. So I have this now: # If you are using Linux, you might want to use this to make vim the # default vi editor, it will create a link from vi to Vim when doing # make install. An existing file will be overwritten! # When not using it, some make programs can't handle an undefined $(LINKIT). #LINKIT = ln -f -s $(DEST_BIN)/$(VIMTARGET) $(DESTDIR)/usr/bin/vi LINKIT = @echo /dev/null Shouldn't the last argument to ln be either $(DEST_BIN)/vi (without /usr/bin) or /usr/bin/vi (without $(DESTDIR)) ? I'm not sure creating a link with a name of (let's say) /usr/local/usr/bin/vi would work. $DESTDIR is the root directory of the installation. It's normally empty. You can set it to /tmp/myroot to build in a shadow directory tree. $prefix may be /usr/local. The idea of using /usr/bin/vi is that the normal vi links to the vim command you just installed, possibly as /usr/local/bin/vim. -- DINGO: And after the spanking ... the oral sex. GALAHAD: Oh, dear! Well, I... GIRLS: The oral sex ... The oral sex. GALAHAD: Well, I suppose I could stay a BIT longer. Monty Python and the Holy Grail PYTHON (MONTY) PICTURES LTD /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net \\\ ///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\download, build and distribute -- http://www.A-A-P.org/// \\\help me help AIDS victims -- http://ICCF-Holland.org/// --~--~-~--~~~---~--~~ You received this message from the vim_dev maillist. For more information, visit http://www.vim.org/maillist.php -~--~~~~--~~--~--~---
Re: Bug in src/Makefile
Bram Moolenaar wrote: [...] $DESTDIR is the root directory of the installation. It's normally empty. You can set it to /tmp/myroot to build in a shadow directory tree. $prefix may be /usr/local. ah, I thought $DESTDIR would normally be /usr/local. Sorry for spamming the bug (as the Mozilla devs call it). The idea of using /usr/bin/vi is that the normal vi links to the vim command you just installed, possibly as /usr/local/bin/vim. Best regards, Tony. -- hundred-and-one symptoms of being an internet addict: 200. You really believe in the concept of a paperless office. --~--~-~--~~~---~--~~ You received this message from the vim_dev maillist. For more information, visit http://www.vim.org/maillist.php -~--~~~~--~~--~--~---
Re: Bug in src/Makefile
Philip Prindeville wrote: Well, this is what I finally ended up using: +--- vim71/src/Makefile.orig 2007-05-12 04:57:13.0 -0700 vim71/src/Makefile 2007-12-18 23:39:14.0 -0800 +@@ -1074,8 +1074,10 @@ + # default vi editor, it will create a link from vi to Vim when doing + # make install. An existing file will be overwritten! + # When not using it, some make programs can't handle an undefined $(LINKIT). +-#LINKIT = -ln -f -s $(BINDIR)/$(VIMTARGET) /usr/bin/vi +-LINKIT = @echo /dev/null ++LINKIT_n = @: ++LINKIT_ = $(LINKIT_n) ++LINKIT_y = ln -f -s ++LINKIT = $(LINKIT_$(LINK_TO_VI)) + + ### + ### GRAPHICAL USER INTERFACE (GUI). {{{1 +@@ -1761,7 +1764,7 @@ + $(STRIP) $(DEST_BIN)/$(VIMTARGET) + chmod $(BINMOD) $(DEST_BIN)/$(VIMTARGET) + # may create a link to the new executable from /usr/bin/vi +--$(LINKIT) ++-$(LINKIT) $(BINDIR)/$(VIMTARGET) $(DESTDIR)/usr/bin/vi + + # Long list of arguments for the shell script that installs the manual pages + # for one language. Can we get it reviewed, approved, and committed? I prefer having the LINKIT variable have the whole command, so that it can be anything. Having it all in one line is a lot simpler. So I have this now: # If you are using Linux, you might want to use this to make vim the # default vi editor, it will create a link from vi to Vim when doing # make install. An existing file will be overwritten! # When not using it, some make programs can't handle an undefined $(LINKIT). #LINKIT = ln -f -s $(DEST_BIN)/$(VIMTARGET) $(DESTDIR)/usr/bin/vi LINKIT = @echo /dev/null -- He was not in the least bit scared to be mashed into a pulp Or to have his eyes gouged out and his elbows broken; To have his kneecaps split and his body burned away And his limbs all hacked and mangled, brave Sir Robin. Monty Python and the Holy Grail PYTHON (MONTY) PICTURES LTD /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net \\\ ///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\download, build and distribute -- http://www.A-A-P.org/// \\\help me help AIDS victims -- http://ICCF-Holland.org/// --~--~-~--~~~---~--~~ You received this message from the vim_dev maillist. For more information, visit http://www.vim.org/maillist.php -~--~~~~--~~--~--~---
Re: Bug in src/Makefile
Bram Moolenaar wrote: Philip Prindeville wrote: Well, this is what I finally ended up using: +--- vim71/src/Makefile.orig 2007-05-12 04:57:13.0 -0700 vim71/src/Makefile 2007-12-18 23:39:14.0 -0800 +@@ -1074,8 +1074,10 @@ + # default vi editor, it will create a link from vi to Vim when doing + # make install. An existing file will be overwritten! + # When not using it, some make programs can't handle an undefined $(LINKIT). +-#LINKIT = -ln -f -s $(BINDIR)/$(VIMTARGET) /usr/bin/vi +-LINKIT = @echo /dev/null ++LINKIT_n = @: ++LINKIT_ = $(LINKIT_n) ++LINKIT_y = ln -f -s ++LINKIT = $(LINKIT_$(LINK_TO_VI)) + + ### + ### GRAPHICAL USER INTERFACE (GUI). {{{1 +@@ -1761,7 +1764,7 @@ +$(STRIP) $(DEST_BIN)/$(VIMTARGET) +chmod $(BINMOD) $(DEST_BIN)/$(VIMTARGET) + # may create a link to the new executable from /usr/bin/vi +- -$(LINKIT) ++ -$(LINKIT) $(BINDIR)/$(VIMTARGET) $(DESTDIR)/usr/bin/vi + + # Long list of arguments for the shell script that installs the manual pages + # for one language. Can we get it reviewed, approved, and committed? I prefer having the LINKIT variable have the whole command, so that it can be anything. Having it all in one line is a lot simpler. So I have this now: # If you are using Linux, you might want to use this to make vim the # default vi editor, it will create a link from vi to Vim when doing # make install. An existing file will be overwritten! # When not using it, some make programs can't handle an undefined $(LINKIT). #LINKIT = ln -f -s $(DEST_BIN)/$(VIMTARGET) $(DESTDIR)/usr/bin/vi LINKIT = @echo /dev/null Shouldn't the last argument to ln be either $(DEST_BIN)/vi (without /usr/bin) or /usr/bin/vi (without $(DESTDIR)) ? I'm not sure creating a link with a name of (let's say) /usr/local/usr/bin/vi would work. Best regards, Tony. -- I stayed up all night playing poker with tarot cards. I got a full house and four people died. -- Steven Wright --~--~-~--~~~---~--~~ You received this message from the vim_dev maillist. For more information, visit http://www.vim.org/maillist.php -~--~~~~--~~--~--~---
Re: Bug in src/Makefile
Vladimir Marek wrote: One more time, for the sake of the braindead (such as me): How about: ifeq ($(LINK_TO_VI),y) LINKIT=ln -s -f else LINKIT=: endif ... -$(LINKIT) $(BINDIR)/$(VIMTARGET) $(DESTDIR)/usr/bin/vim instead? What make understands ifeq? This looks restricted to some versions of make. Correct, this is gnu make extension afaik. It can be constructed like this however: LINK_TO_VI = YES LINKIT_YES = ln -s -f LINKIT_NO = : LINKIT = $(LINKIT_$(LINK_TO_VI)) Other possibility would be to solve this at automake/autoconf level, adding new parameter to 'configure' script. How can LINKIT only be :? : is shell builtin, try 'type :'. It just expands arguments and returns true. (so that ': $(touch a)' creates file a). To be sure I checked it for sh, bash and ksh on Solaris. Well, this is what I finally ended up using: +--- vim71/src/Makefile.orig2007-05-12 04:57:13.0 -0700 vim71/src/Makefile 2007-12-18 23:39:14.0 -0800 +@@ -1074,8 +1074,10 @@ + # default vi editor, it will create a link from vi to Vim when doing + # make install. An existing file will be overwritten! + # When not using it, some make programs can't handle an undefined $(LINKIT). +-#LINKIT = -ln -f -s $(BINDIR)/$(VIMTARGET) /usr/bin/vi +-LINKIT = @echo /dev/null ++LINKIT_n = @: ++LINKIT_ = $(LINKIT_n) ++LINKIT_y = ln -f -s ++LINKIT = $(LINKIT_$(LINK_TO_VI)) + + ### + ### GRAPHICAL USER INTERFACE (GUI). {{{1 +@@ -1761,7 +1764,7 @@ + $(STRIP) $(DEST_BIN)/$(VIMTARGET) + chmod $(BINMOD) $(DEST_BIN)/$(VIMTARGET) + # may create a link to the new executable from /usr/bin/vi +- -$(LINKIT) ++ -$(LINKIT) $(BINDIR)/$(VIMTARGET) $(DESTDIR)/usr/bin/vi + + # Long list of arguments for the shell script that installs the manual pages + # for one language. Can we get it reviewed, approved, and committed? Thanks, -Philip --~--~-~--~~~---~--~~ You received this message from the vim_dev maillist. For more information, visit http://www.vim.org/maillist.php -~--~~~~--~~--~--~---
Re: Bug in src/Makefile
One more time, for the sake of the braindead (such as me): How about: ifeq ($(LINK_TO_VI),y) LINKIT=ln -s -f else LINKIT=: endif ... -$(LINKIT) $(BINDIR)/$(VIMTARGET) $(DESTDIR)/usr/bin/vim instead? What make understands ifeq? This looks restricted to some versions of make. Correct, this is gnu make extension afaik. It can be constructed like this however: LINK_TO_VI = YES LINKIT_YES = ln -s -f LINKIT_NO = : LINKIT = $(LINKIT_$(LINK_TO_VI)) Other possibility would be to solve this at automake/autoconf level, adding new parameter to 'configure' script. How can LINKIT only be :? : is shell builtin, try 'type :'. It just expands arguments and returns true. (so that ': $(touch a)' creates file a). To be sure I checked it for sh, bash and ksh on Solaris. -- Vlad pgpp2xRk7vf0P.pgp Description: PGP signature
Re: Bug in src/Makefile
How can LINKIT only be :? : is shell builtin, try 'type :'. It just expands arguments and returns true. (so that ': $(touch a)' creates file a). To be sure I checked it for sh, bash and ksh on Solaris. I would've thought the confusion wasn't over what ':' did, but over why, if you can't link, you would do nothing rather than copy instead, or provide some other kind of second-best mechanism that's...well...better than nothing. Ben. Send instant messages to your online friends http://au.messenger.yahoo.com --~--~-~--~~~---~--~~ You received this message from the vim_dev maillist. For more information, visit http://www.vim.org/maillist.php -~--~~~~--~~--~--~---
Re: Bug in src/Makefile
Philip Prindeville wrote: Haven't checked to see if this is fixed yet, but it's definitely present in 7.1: # make install. An existing file will be overwritten! # When not using it, some make programs can't handle an undefined $(LINKIT). -LINKIT = -ln -f -s $(BINDIR)/$(VIMTARGET) /usr/bin/vi +LINKIT = -ln -f -s $(DEST_BIN)/$(VIMTARGET) /usr/bin/vi #LINKIT = @echo /dev/null Yes, that should work better when DESTDIR is set. I'll make that change. Also removing the dash. -- If VIM were a woman, I'd marry her. Slim, organized, helpful and beautiful; what's not to like? --David A. Rogers /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net \\\ ///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\download, build and distribute -- http://www.A-A-P.org/// \\\help me help AIDS victims -- http://ICCF-Holland.org/// --~--~-~--~~~---~--~~ You received this message from the vim_dev maillist. For more information, visit http://www.vim.org/maillist.php -~--~~~~--~~--~--~---
Bug in src/Makefile
Haven't checked to see if this is fixed yet, but it's definitely present in 7.1: # make install. An existing file will be overwritten! # When not using it, some make programs can't handle an undefined $(LINKIT). -LINKIT = -ln -f -s $(BINDIR)/$(VIMTARGET) /usr/bin/vi +LINKIT = -ln -f -s $(DEST_BIN)/$(VIMTARGET) /usr/bin/vi #LINKIT = @echo /dev/null ### --~--~-~--~~~---~--~~ You received this message from the vim_dev maillist. For more information, visit http://www.vim.org/maillist.php -~--~~~~--~~--~--~---
Re: Bug in src/Makefile
Philip Prindeville wrote: Haven't checked to see if this is fixed yet, but it's definitely present in 7.1: # make install. An existing file will be overwritten! # When not using it, some make programs can't handle an undefined $(LINKIT). -LINKIT = -ln -f -s $(BINDIR)/$(VIMTARGET) /usr/bin/vi +LINKIT = -ln -f -s $(DEST_BIN)/$(VIMTARGET) /usr/bin/vi #LINKIT = @echo /dev/null ### Hmm Actually, since it's invoked as: -$(LINKIT) we probably don't need the - in the definition of the macro expansion (RHS), either. --~--~-~--~~~---~--~~ You received this message from the vim_dev maillist. For more information, visit http://www.vim.org/maillist.php -~--~~~~--~~--~--~---
Re: Bug in src/Makefile
One more time, for the sake of the braindead (such as me): How about: ifeq ($(LINK_TO_VI),y) LINKIT=ln -s -f else LINKIT=: endif ... -$(LINKIT) $(BINDIR)/$(VIMTARGET) $(DESTDIR)/usr/bin/vim instead? That way, you can do a make install_normal LINK_TO_VI=y without editing the Makefile. While I'm at it, looking at src/configure.in: have_local_include='' have_local_lib='' if test $GCC = yes; then echo 'void f(){}' conftest.c dnl -no-cpp-precomp is needed for OS X 10.2 (Ben Fowler) ... if test $tt = $CPPFLAGS; then CPPFLAGS=$CPPFLAGS -I/usr/local/include fi fi Should that read: have_local_include='' have_local_lib='' if test $cross_compiling = no; then if test $GCC = yes; then echo 'void f(){}' conftest.c dnl -no-cpp-precomp is needed for OS X 10.2 (Ben Fowler) ... if test $tt = $CPPFLAGS; then CPPFLAGS=$CPPFLAGS -I/usr/local/include fi fi fi And lastly... why does the target installrtbase install the man pages? How do I get an installation with everything but the man pages? Thanks, -Philip --~--~-~--~~~---~--~~ You received this message from the vim_dev maillist. For more information, visit http://www.vim.org/maillist.php -~--~~~~--~~--~--~---