<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/libgit2.pc.in, branch ethomson/config_section_validity</title>
<subtitle>github.com: libgit2/libgit2.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/'/>
<entry>
<title>pkgconfig: fix handling of prefixes containing whitespaces</title>
<updated>2017-04-05T12:46:23+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2017-04-05T12:39:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=22436f29453b60abcc6646333607d0d41dac96ed'/>
<id>22436f29453b60abcc6646333607d0d41dac96ed</id>
<content type='text'>
Our libgit2.pc.in file is quoting the `libdir` variable in our declared
"Libs:" line. The intention is to handle whitespaces here, but pkgconfig
already does so by automatically escaping whitespace with backslashes.
The correct thing to do is to instead quote the prefix, as this is the
one which is being substituted by CMake upon installation. As both
libdir and includedir will be expanded to "${prefix}/lib" and
"${prefix}/include", respectively, pkgconfig will also correctly escape
whitespaces.

Note that this will actually break when a user manually wants to
override libdir and includedir with a path containing whitespace. But
actually, this cannot be helped, as always quoting these variables will
actuall break the common case of being prefixed with "${prefix}". So we
just bail out here and declare this as unsupported out of the box.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Our libgit2.pc.in file is quoting the `libdir` variable in our declared
"Libs:" line. The intention is to handle whitespaces here, but pkgconfig
already does so by automatically escaping whitespace with backslashes.
The correct thing to do is to instead quote the prefix, as this is the
one which is being substituted by CMake upon installation. As both
libdir and includedir will be expanded to "${prefix}/lib" and
"${prefix}/include", respectively, pkgconfig will also correctly escape
whitespaces.

Note that this will actually break when a user manually wants to
override libdir and includedir with a path containing whitespace. But
actually, this cannot be helped, as always quoting these variables will
actuall break the common case of being prefixed with "${prefix}". So we
just bail out here and declare this as unsupported out of the box.
</pre>
</div>
</content>
</entry>
<entry>
<title>Wrap path in quotes to support paths containing whitespace.</title>
<updated>2016-01-09T01:43:03+00:00</updated>
<author>
<name>Arthur Schreiber</name>
<email>arthur.schreiber@hp.com</email>
</author>
<published>2016-01-05T20:55:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=768e185c54164a66fc4e2dbe7c58097eff65ebdf'/>
<id>768e185c54164a66fc4e2dbe7c58097eff65ebdf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>pkg-config: fix directory references in libgit2.pc</title>
<updated>2015-09-18T09:05:57+00:00</updated>
<author>
<name>Dominique Leuenberger</name>
<email>dimstar@opensuse.org</email>
</author>
<published>2015-09-10T14:11:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=5540d9db206c1c967f32d1e9f09f3568a275f3ae'/>
<id>5540d9db206c1c967f32d1e9f09f3568a275f3ae</id>
<content type='text'>
Before:
libdir=/usr//usr/lib64
includedir=/usr//usr/include

After:
libdir=/usr/lib64
includedir=/usr/include

(note the duplication of /usr in the before case)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before:
libdir=/usr//usr/lib64
includedir=/usr//usr/include

After:
libdir=/usr/lib64
includedir=/usr/include

(note the duplication of /usr in the before case)
</pre>
</div>
</content>
</entry>
<entry>
<title>pkg-config: Sort the different sections</title>
<updated>2015-06-29T10:20:01+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>tanoku@gmail.com</email>
</author>
<published>2015-06-29T10:20:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=6a5fb1f4cc5cb8de311acf1af6b7d8a0ea35876e'/>
<id>6a5fb1f4cc5cb8de311acf1af6b7d8a0ea35876e</id>
<content type='text'>
Because of the fact that pkg-config is pants-on-head retarded and that
the Linux linker *requires* a static library to come before all its
dynamic dependencies in the link path, calling `pkg-config --libs
--static` was generating the wrong flags for linking.

Before this patch:

	-Wl,-Bsymbolic-functions -Wl,-z,relro -L/usr/local/lib -lcurl -lssh2
	-lrt -lgit2 -lssl -lcrypto -ldl -lz

After this patch:

	-Wl,-Bsymbolic-functions -Wl,-z,relro -L/usr/local/lib -lgit2 -lcurl
	-lssh2 -lrt -lssl -lcrypto -ldl -lz

By setting the "Libs" line before all other rules, we make sure that
`-lgit2` is the first library in the link path and that it gets its
symbols resolved with the libraries coming after it.

This fix (ab)uses an implementation detail in `pkg-config` (namely, that
flags are output as they are found on the file), but this detail seems
to be stable between releases and always gives a stable output.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Because of the fact that pkg-config is pants-on-head retarded and that
the Linux linker *requires* a static library to come before all its
dynamic dependencies in the link path, calling `pkg-config --libs
--static` was generating the wrong flags for linking.

Before this patch:

	-Wl,-Bsymbolic-functions -Wl,-z,relro -L/usr/local/lib -lcurl -lssh2
	-lrt -lgit2 -lssl -lcrypto -ldl -lz

After this patch:

	-Wl,-Bsymbolic-functions -Wl,-z,relro -L/usr/local/lib -lgit2 -lcurl
	-lssh2 -lrt -lssl -lcrypto -ldl -lz

By setting the "Libs" line before all other rules, we make sure that
`-lgit2` is the first library in the link path and that it gets its
symbols resolved with the libraries coming after it.

This fix (ab)uses an implementation detail in `pkg-config` (namely, that
flags are output as they are found on the file), but this detail seems
to be stable between releases and always gives a stable output.
</pre>
</div>
</content>
</entry>
<entry>
<title>Set the correct dependencies in the pkg-config file</title>
<updated>2013-10-23T11:46:31+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2013-10-23T10:58:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=1ecda61ec570873dd72fd129cd1bfe6a08d5a81a'/>
<id>1ecda61ec570873dd72fd129cd1bfe6a08d5a81a</id>
<content type='text'>
When linking statically, the including project needs to know what the
current library build depends on so they can link to it. Store this
information in the pkg-config file.

While here, remove claims that users need to link to zlib or libcrypto.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When linking statically, the including project needs to know what the
current library build depends on so they can link to it. Store this
information in the pkg-config file.

While here, remove claims that users need to link to zlib or libcrypto.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use standard CMake variable names for installation paths</title>
<updated>2012-10-19T23:56:35+00:00</updated>
<author>
<name>Veeti Paananen</name>
<email>veeti.paananen@rojekti.fi</email>
</author>
<published>2012-10-19T14:33:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=9795a40f886db0e9b700252e08d34d0b37ff8ecb'/>
<id>9795a40f886db0e9b700252e08d34d0b37ff8ecb</id>
<content type='text'>
Rename INSTALL_INC and INSTALL_BIN to INCLUDE_INSTALL_DIR and
BIN_INSTALL_DIR, which are more commonly used. This is also
consistent with the variable for the library path which is
already LIB_INSTALL_DIR.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rename INSTALL_INC and INSTALL_BIN to INCLUDE_INSTALL_DIR and
BIN_INSTALL_DIR, which are more commonly used. This is also
consistent with the variable for the library path which is
already LIB_INSTALL_DIR.
</pre>
</div>
</content>
</entry>
<entry>
<title>libgit2.pc.in: also switch to LIB_INSTALL_DIR</title>
<updated>2012-07-16T11:30:23+00:00</updated>
<author>
<name>Michael Schubert</name>
<email>schu@schu.io</email>
</author>
<published>2012-07-16T10:41:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=77ace82d7ab60fad62a02d272a37d8c4891f59a3'/>
<id>77ace82d7ab60fad62a02d272a37d8c4891f59a3</id>
<content type='text'>
b3237ac3 changed CMakeList.txt to use the more standard LIB_INSTALL_DIR
variable instead of INSTALL_LIB, but forgot to change libgit2.pc.in etc.
accordingly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
b3237ac3 changed CMakeList.txt to use the more standard LIB_INSTALL_DIR
variable instead of INSTALL_LIB, but forgot to change libgit2.pc.in etc.
accordingly.
</pre>
</div>
</content>
</entry>
<entry>
<title>Create and install pkg-config file</title>
<updated>2011-08-07T16:44:08+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>carlos@cmartin.tk</email>
</author>
<published>2011-08-07T16:44:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=2327a7cc100e38d176fe48dc3a2bf50045890be8'/>
<id>2327a7cc100e38d176fe48dc3a2bf50045890be8</id>
<content type='text'>
This hasn't been working since the switch away from waf.

Signed-off-by: Carlos Martín Nieto &lt;carlos@cmartin.tk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This hasn't been working since the switch away from waf.

Signed-off-by: Carlos Martín Nieto &lt;carlos@cmartin.tk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add proper version management</title>
<updated>2011-02-07T08:35:58+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>tanoku@gmail.com</email>
</author>
<published>2011-02-07T08:35:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=9d1dcca229c624c7551a287963a19e95ba4753b6'/>
<id>9d1dcca229c624c7551a287963a19e95ba4753b6</id>
<content type='text'>
We now have proper sonames in Mac OS X and Linux, proper versioning on
the pkg-config file and proper DLL naming in Windows.

The version of the library is defined exclusively in 'src/git2.h'; the build scripts
read it from there automatically.

Signed-off-by: Vicent Marti &lt;tanoku@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We now have proper sonames in Mac OS X and Linux, proper versioning on
the pkg-config file and proper DLL naming in Windows.

The version of the library is defined exclusively in 'src/git2.h'; the build scripts
read it from there automatically.

Signed-off-by: Vicent Marti &lt;tanoku@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for installing to a libdir other than 'lib'.</title>
<updated>2009-02-01T23:00:10+00:00</updated>
<author>
<name>Ingmar Vanhassel</name>
<email>ingmar@exherbo.org</email>
</author>
<published>2009-01-30T22:55:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=19af3949ca8ce2831049a4755bce3091d7f4bceb'/>
<id>19af3949ca8ce2831049a4755bce3091d7f4bceb</id>
<content type='text'>
Signed-off-by: Ingmar Vanhassel &lt;ingmar@exherbo.org&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Ingmar Vanhassel &lt;ingmar@exherbo.org&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
