Le lundi 14 janvier 2013 18:01:08, Akim Demaille a écrit : > Le 14 janv. 2013 à 17:55, "Thomas Preud'homme" <robo...@celest.fr> a écrit : > > Hi Akim, > > Hi Thomas, > > If there were other messages for me, I might have missed them :( > > > Can you explain me what is the purpose of second part of the sed command > > used to create symlink to Makefile: s,[^/]*/,../,g > > The thing is that "cp 1/2 3/4/" and "ln 1/2 3/4/" have nothing > in common: in the "ln" case, it is equivalent to "cd 3/4 && ln 1/2 .". > Absolute paths are resolved from the destination, not from the > current directory. So if I mean to "ln 1/2 3/4/" in the way cp > does, I need to "ln ../../1/2 3/4/". > > > I'm trying to build from tmp/tcc-builddir while the source are in > > tmp/tcc. The first part of the sed command correctly transform > > "../tcc/./" into ../tcc/ but then the second part change it into ../../ > > > > I suppose that was not the intended behavior but I don't see what was > > expected. > > This is the kind of things that Autoconf provides bullet proof :( > I don't know why there is the trailing "./", I guess it should > suffice to "cleanup" the directories first, i.e., removing things > like "./".
What do you think of the proposed fix? It works for me at least. It first look at the directory in which the symlink is to be done and strip entirely the path if it's "./". Else, it will look like path/to/symlink and it will replace each subdirectory by .., as in your original patch. At this stage you get the correct number of .. to go down from the directory where a given symlink is to be created to the directory in which configure was called. You just need to add the relative path to the source root + the path to the Makefile needing to be symlinked. Best regards, Thomas
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel