mingw-cross-env-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Mingw-cross-env-list] Help with liboauth.mk


From: Tony Theodore
Subject: Re: [Mingw-cross-env-list] Help with liboauth.mk
Date: Mon, 3 Jan 2011 18:26:27 +1100

On 17 December 2010 01:32, Gareth Coco <address@hidden> wrote:
> HI,
>
> I've been using liboauth (http://liboauth.sourceforge.net/) in a
> project and things have been successful so I thought I'd work on
> making it available for the project.
>
> At the bottom is a working liboauth.mk but there are some issues that
> I do not really know how to fix.

Thanks! I just included it:
http://hg.savannah.gnu.org/hgweb/mingw-cross-env/rev/73b5fa733642

> Issue 1 - Check program: liboauth has some built in check programs.

In general, we create a small test program that mostly just serves as
a link test, not a full functional test. I added one and disabled the
check target (and fixed some spacing):

http://hg.savannah.gnu.org/hgweb/mingw-cross-env/rev/3cf60385089a
http://hg.savannah.gnu.org/hgweb/mingw-cross-env/rev/570e0ab01042

> The mk at the moment just runs "make check" which compiles the checks
> and then runs them. If you don't have wine installed they fail. If
> wine is installed then the checks seem to pass. I need some help on
> just building in the checks to compile them up and then you run them
> manually.

If you wanted to do this, you can look for hints in the log file. It
fails at "make check-TESTS", and there is a TESTS variable in the top
level Makefile. Either of the following should work:

$(MAKE) -C '$(1)' -j '$(JOBS)' check TESTS=
$(MAKE) -C '$(1)/tests' -j '$(JOBS)' check

then you can copy the tests/*.exe files somewhere to be executed
later. In this case, we could probably build them since they run so
quickly, but I've left them out, along with the HASH* variables that
are only required to build them.

> Issue 2 - oauth.pc: This file when you build the program only shows
> the libs - libcurl and libcrypto - as being required. In reality you
> need many other libs to make this run. Should the oauth.pc have all
> the libs that are needed to compile programs?

Not sure what you're seeing, but here:

$ i686-pc-mingw32-pkg-config oauth --cflags --libs
-I/Users/tonytheodore/dev/mingw-cross-env/usr/i686-pc-mingw32/include
-L/Users/tonytheodore/dev/mingw-cross-env/usr/i686-pc-mingw32/lib
-loauth -lm -lcurl -lidn -lwldap32 -lgnutls -lgcrypt -liconv
-lgpg-error -lcrypto -lws2_32 -lgdi32 -lcrypt32 -lz

seems to be all the required libs and works for the test program.

>I did make two change to
> configure.ac which did change the way oauth.pc was created. Do we also
> need the cflags included in the oauth.pc?

[snip...]

> Ideally the upstream would
> also use pkg-config to get the openssl libs but that may be a dream of
> mine.

I'd say using pkg-config is the best way to go, however, they also
seem to discourage the use of openssl [1] so may not be overly
interested.

Cheers,

Tony


[1] log/liboauth:124
  NOTE: OpenSSL is not compatible with GPL applications.
  Even if only linked with GPL code you are not allowed to distibute your app.
  However liboauth provides an exeption (to the GPL) to circumvent this issue
  (see README, src/hash.c). Nevertheless, double-check your licensing.

  liboauth itself is licensed under MIT license and comatible with the GPL.

  Either way, you are probably better off using NSS (configure --enable-nss);
  future versions of liboauth will default to the Mozilla NSS.

  see http://people.gnome.org/~markmc/openssl-and-the-gpl.html



reply via email to

[Prev in Thread] Current Thread [Next in Thread]