[pulseaudio-discuss] [PATCH 3/9] build: copy instead of link pacat to other utils on win32

Maarten Bosmans mkbosmans at gmail.com
Sat Mar 19 05:53:31 PDT 2011


2011/3/18 Colin Guthrie <gmane at colin.guthr.ie>:
> 'Twas brillig, and Maarten Bosmans at 16/03/11 09:55 did gyre and gimble:
>> This is necessary as symlinks are not supported on Windows.  Also use the $(EXEEXT) variable.
>>
>> As a side effect on POSIX, an absolute symbolic link is now created instead of a relative one.
>
> NAK. The absolute link cannot include DESTDIR I believe as most
> RPMs/packages use DESTDIR to create install routes that ultimately end
> up in /. DESTDIR cannot appear in any symbolic links.
>
> Also relative symlinks are preferred for relocated installs an for
> seeing working links when installing in chroots etc.

I wasn't sure about it either, that's why I explicitly mentioned it in
the commitlog.

> Also, (as I've got other issues with this particular patch) can you call
> the variable something other than "LINK_PROGRAM" to avoid any confusion
> with library linking? SYMLINK_PROGRAM or something (even if it's invalid
> on win32) would IMO be less confusing.

Sure. New patch up at
https://github.com/mkbosmans/pulseaudio/commit/74c934b1ada4c5e7d0efc690dc41d305abc2e58a

The hunk is now:
+if OS_IS_WIN32
+SYMLINK_PROGRAM=cd $(DESTDIR)$(bindir) && cp
+else
+SYMLINK_PROGRAM=ln -sf
+endif
 install-exec-hook:
 	-chown root $(DESTDIR)$(pulselibexecdir)/proximity-helper
 	-chmod u+s $(DESTDIR)$(pulselibexecdir)/proximity-helper
-	ln -sf pacat $(DESTDIR)$(bindir)/parec
-	ln -sf pacat $(DESTDIR)$(bindir)/pamon
-	ln -sf pacat $(DESTDIR)$(bindir)/paplay
-	ln -sf pacat $(DESTDIR)$(bindir)/parecord
+	$(SYMLINK_PROGRAM) pacat$(EXEEXT) $(DESTDIR)$(bindir)/parec$(EXEEXT)
+	$(SYMLINK_PROGRAM) pacat$(EXEEXT) $(DESTDIR)$(bindir)/pamon$(EXEEXT)
+	$(SYMLINK_PROGRAM) pacat$(EXEEXT) $(DESTDIR)$(bindir)/paplay$(EXEEXT)
+	$(SYMLINK_PROGRAM) pacat$(EXEEXT) $(DESTDIR)$(bindir)/parecord$(EXEEXT)
 	rm -f $(DESTDIR)$(libdir)/libpulsedsp.la
 	rm -f $(DESTDIR)$(modlibexecdir)/*.la

I rebased the branch, ready for review again at:
https://github.com/mkbosmans/pulseaudio/compare/mingw32-build
You can pull the branch mingw32-build from
git://github.com/mkbosmans/pulseaudio.git

Maarten



More information about the pulseaudio-discuss mailing list