diff options
92 files changed, 0 insertions, 35702 deletions
diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index 7ecfc3b..0000000 --- a/.cvsignore +++ /dev/null @@ -1,14 +0,0 @@ -Makefile -Makefile.in -aclocal.m4 -autom4te.cache -config.cache -config.h -config.h.in -config.log -config.status -configure -libtool -stamp-h1 -.libs -.deps diff --git a/AUTHORS b/AUTHORS deleted file mode 100644 index d6021d4..0000000 --- a/AUTHORS +++ /dev/null @@ -1 +0,0 @@ -Lubos Lunak <l.lunak@suse.cz> @@ -1,15 +0,0 @@ -make -f Makefile.cvs -./configure -make -make install - -For KDE module: -cd kde -make -f Makefile.cvs -./configure -make -make install - -If you have a serious problem with the -Werror flag, edit configure.ac -and kde/configure.in.in (sorry, but plain C accepts unbelievable nonsense -without it). It should be probably turned into a configure switch or something. diff --git a/LICENSE b/LICENSE deleted file mode 100644 index d28a48f..0000000 --- a/LICENSE +++ /dev/null @@ -1,16 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index abbf26b..0000000 --- a/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -SUBDIRS = include lib generic tests -AUTOMAKE_OPTIONS = foreign diff --git a/Makefile.cvs b/Makefile.cvs deleted file mode 100644 index 1e17bc9..0000000 --- a/Makefile.cvs +++ /dev/null @@ -1,6 +0,0 @@ -all: - @libtoolize - @aclocal - @autoheader - @automake --add-missing - @autoconf @@ -1,67 +0,0 @@ -NOTE: This is currently an experimental implementation intended to gather -feedback. Especially see the DAPI-0.1 announcement mail on the mailing -list (http://lists.freedesktop.org/archives/portland/2006-March/000267.html) -for details. - - - - -The Portland Project Desktop API (DAPI) -======================================= -DAPI is a general purpose desktop API that allows uniform access to -desktop functionality like sending email, turning screensavers on/off, -opening urls, and so forth. These are done in different ways, depending -on the user's distro and desktop environment; DAPI gives software -developers a single, uniform way to perform them. - -The main motivation for DAPI is to simplify ISV's lives. We want to see -more commercial-class software available for the Linux desktop, but -recognize that the vast array of choices available to the Linux user -presents the ISV with the problem of how to support all these different -ways of doing things? With DAPI, we plan to address this problem by -giving the ISV a convenience library that wrappers common functionality -they need, that is not yet standardized across desktop environments. - -DAPI is implemented as a daemon that runs on the user's desktop and -allows applications to invoke desktop functions through an API. - - -Usage -===== -DAPI consists of two components: A daemon, and a library (libdapi.la) -that links to the application. The library handles the IPC -(socket) communication with the daemon and implements the API. - -There are several different "flavors" of daemons, each particular to a -given desktop environment (dapi_kde, dapi_generic, etc.), but they all -provide the same API. This way, once you link the library in, you can -communicate with any daemon. - -ISV is expected to statically link the DAPI library. Daemon should -be provided by the desktop environment in which the application runs. -Currently (March 2006) no distros ship DAPI, so it may be necessary -to ship separately daemons for these desktop environments. ISVs may -also consider shipping a generic daemon together with the application -as a fallback. - -The doc/ directory contains a description of the implemented calls -and other developer documentation. Also, the tests/ directory will serve -as a set of basic examples on using the library. Other directories contain -the library and daemon implementations. - - -Future -====== -DAPI is very much an early work in progress, and is still in 'prototype' -stage, so please expect that lots *will* change. We hope to expand the -functionality to include much more of what ISV's need, so if something -appears to be missing, please let us know (patches welcome too!) - -The plan is for the desktop environments to provide their own daemon -implementations, with applications including only the generic daemon to -use if no other daemon is already running. - -Web: http://portland.freedesktop.org/ -Mailing list: http://lists.freedesktop.org/mailman/listinfo/portland -Source code: cvs -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/portland co portland/dapi -Online repository: http://cvs.freedesktop.org/portland/portland/dapi diff --git a/configure.ac b/configure.ac deleted file mode 100644 index 6ef3e26..0000000 --- a/configure.ac +++ /dev/null @@ -1,35 +0,0 @@ -AC_INIT([DAPI], [0.1], [l.lunak@suse.cz], [dapi]) -AC_CONFIG_SRCDIR([doc/API.txt]) -AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE - -AC_PROG_CC -AC_HEADER_STDC -AC_PROG_CXX -AC_ENABLE_STATIC -AC_DISABLE_SHARED -AC_PROG_LIBTOOL -AC_PROG_INSTALL - -CFLAGS="$CFLAGS -Werror" -CXXFLAGS="$CXXFLAGS -Werror" - -AC_SUBST(CFLAGS) -AC_SUBST(CXXFLAGS) -AC_SUBST(CPPFLAGS) -AC_SUBST(LDFLAGS) - -AC_PATH_XTRA -AC_CHECK_HEADERS(X11/extensions/dpms.h, - AC_DEFINE(HAVE_DPMS, 1, [Set if DPMS is available]),, - [#include <X11/Xlib.h>]) - -AC_CONFIG_FILES([ -Makefile -lib/Makefile -tests/Makefile -generic/Makefile -include/Makefile -include/dapi/Makefile -]) -AC_OUTPUT diff --git a/doc/API.txt b/doc/API.txt deleted file mode 100644 index 8ccf254..0000000 --- a/doc/API.txt +++ /dev/null @@ -1,216 +0,0 @@ -============================================================================== - Description of the API -============================================================================== - -This file is a complete list and description of all API calls. It doesn't -contain any information specific to any language bindings. - - - -Conventions: -============ - -All strings, filenames, urls, etc. are UTF8-encoded, unless specified -otherwise. - -All filenames and paths must be absolute. - -Window relations: ------------------ - -Many calls take 'windowinfo' argument that specifies a window related to the call. -This argument is necessary for maintaining proper window relations so that e.g. -a dialog opened from the call is properly associated with a window from the application -to which it logically belongs. Missing or incorrect data may result in focus problems. - -Applications should specify the toplevel window related to the request. If the application -has only one main window then this is the window, if it has more then the relevant -one should be used (e.g. for the OpenUrl call the window should be the toplevel window -in which the user clicked on the link). See bindings documentation for further details. - - -API calls list: -=============== - -Init() -> ( bool ok ) ---------------------- - -Needs to be the very first call performed. If the call fails, no API can be used. - -ok: if false, initialization failed - - -Capabilities() -> ( int[] capabilities ) ----------------------------------------- - -Returns a list of all commands that the desktop supports. Refer to your -bindings documentation for details on command id's. - -capabilities: a list of capabilities - - -OpenUrl( string url, windowinfo winfo ) -> ( bool ok ) ------------------------------------------------------- - -Opens the given URL or filename in the default web browser. - -url: URL or filename to open -winfo: window related to this request (see conventions) -ok: if false, the url wasn't opened - - -ExecuteUrl( string url, windowinfo winfo ) -> ( bool ok ) ---------------------------------------------------------- - -Opens the given URL or filename in the default application for the file (image viewer for image, etc.) - -url: URL or filename to open -winfo: window related to this request (see conventions) -ok: if false, the URL/file wasn't opened - - -ButtonOrder() -> ( int order ) ------------------------------- - -Returns the system button order. - -order: 0 - error - 1 - Ok/Cancel - 2 - Cancel/Ok - - -RunAsUser( string user, string command, windowinfo winfo ) -> ( bool ok ) -------------------------------------------------------------------------- - -Executes the given command as a different user. - -user: username or empty for superuser -command: command to execute -winfo: window related to this request (see conventions) -ok: if false, the command wasn't executed - - -SuspendScreensaving( bool suspend ) -> ( bool ok ) --------------------------------------------------- - -Suspends or resumes screensaving. - -suspend: whether to suspend screensaving -ok: if false, suspending failed - - -MailTo( string subject, string body, string to, string cc, string bcc, string[] attachments, windowinfo winfo ) -> ( bool ok ) ------------------------------------------------------------------------------------------------------------------------------- - -Opens a window for composing mail in the default mail client. - -subject: mail subject or empty -body: mail body or empty -to: mail's To:, multiple entries are separated using commas, may be empty -to: mail's CC:, multiple entries are separated using commas, may be empty -to: mail's BCC:, multiple entries are separated using commas, may be empty -attachments: a list of filenames to be attached to the mail -winfo: window related to this request (see conventions) - - -LocalFile( string url, string local, bool allow_download, windowinfo winfo ) -> ( string result ) -------------------------------------------------------------------------------------------------- - -Converts an URL to a local file location, downloading the remote file -if necessary and allowed. The URL may be already a local file in which -case it will be simply returned. - -file: URL or path of the file to convert to local file -allow_download: If the file URL doesn't point to a local file, it will be downloaded - to a temporary local file if allow_download is true -local: filename of a local file that should be used as a temporary file - in case of downloading; if empty, then a random temporary file is used and it needs - to be eventually removed using RemoveTemporaryLocalFile; note that if the source - file already is a local file, then its path will be returned and this field will - be ignored -winfo: window related to this request (see conventions) -result: filename of the resulting local file, may be equal to the source file - - -UploadFile( string local, string file, bool remove_local, windowinfo winfo ) -> ( bool ok ) -------------------------------------------------------------------------------------------- - -Uploads local file to its URL location. This function is a complement for LocalFile -to save a temporary file to its real location after it's been changed. In case -the destination is a local file then this call successfully returns without doing anything. - -local: filename of a temporary file obtained from LocalFile -file: URL or path of the location where to save the file to -remove_local: if true, equivalent to calling RemoveTemporaryLocalFile with the local - file after this call -winfo: window related to this request (see conventions) -ok: if false, the upload failed - -RemoveTemporaryLocalFile( string local ) -> ( bool ok ) -------------------------------------------------------- - -Removes a temporary local file created by LocalFile (only works it LocalFile had -to create a random temporary file itself). This call doesn't affect files that -haven't been created by LocalFile. - -local: filename of a temporary file to be removed -ok: if false, the removal failed - -AddressBookList() -> ( stringlist contact_ids, bool ok ) ----------------------------------------------------------- - -Lists all identifiers for contacts in the user's addressbook. The content of such -an identifier can vary between daemon implementations. - -contact_ids: a list of string IDs, one entry for each contact in the addressbook -ok: false if listing is not possible or has failed - -AddressBookOwner() -> ( string contact_id, bool ok ) ----------------------------------------------------- - -Returns the identifier of the user's own contact if available. - -contact_id: a string identifying the user herself -ok: true if owner contact is available, otherwise false - -AddressBookFindByName( string name ) -> ( stringlist contact_ids, bool ok ) ------------------------------------------------------------------------------ - -Finds all contacts in the user's addressbook where the given string is part -of at least one of the contact's name fields. - -name: a string containing the name or part of a name to search for -contact_ids: a list of string IDs, one entry for each matching contact in - the addressbook -ok: false if no match is found - -AddressBookGetName( string contact_id ) -> ( string givenname, string familyname, string fullname, bool ok ) ------------------------------------------------------------------------------------------------------------- - -Gets the name of a specific contact from the user's addressbook. -The contact is identified through a backend specific string which is returned by -query functions such as AddressBookList or AddressBookFindByName. - -contact_id: the identifier of the contact to get the name from -givenname: the given or first name of the contact -familyname: the family name of the contact -fullname: a name string containing all avilable name parts, e.g. name plus title -ok: false if the contact_id is unknown - -AddressBookGetEmails( string contact_id ) -> ( stringlist emails, bool ok ) ------------------------------------------------------------------------------ - -Gets all emails for the contact with the given identifier. - -contact_id: the identifier of the contact to get the email addresses from -emails: a list of strings, one entry for each email address of the contact -ok: false if the contact_id is unknown - -AddressBookGetVCard30( string contact_id ) -> ( string vcard, bool ok) ----------------------------------------------------------------------- - -Gets the full contact information as a VCard version 3.0. - -contact_id: the identifier of the contact to get the vcard for -vcard: a string with the vcard data -ok: true if contact exists and conversion successfull, otherwise false diff --git a/doc/C-API.txt b/doc/C-API.txt deleted file mode 100644 index edf0d56..0000000 --- a/doc/C-API.txt +++ /dev/null @@ -1,198 +0,0 @@ -============================================================================== - Description of C API bindings -============================================================================== - -This file contains information specific to the C bindings. Refer to the generic -API documentation for information that is not specific to C bindings. See also -C-HOWTO.txt . - - - - -Data types -========== - - -C allows only a limited set of data types. Types from the abstract API that -are not available in C are used as follows: - -bool - int with values 1 for true and 0 for false - -string - char* NUL-terminated string; calls that return char* allocate it dynamically -and the caller must deallocate it by calling free() - -arrays ( int[], string[] ) - intarr, stringarr (see below) - -windowinfo - DapiWindowInfo (see below) - - -DapiConnection --------------- - -Opaque data type that contains all internal data. Most calls require it -as the first argument. - - -DapiWindowInfo --------------- - -Some call require information about a window related to the call. This structure -holds data about such window. Call dapi_windowInfoInitWindow() to fill in the info -or use the convenience _Window functions. - - -void dapi_windowInfoInitWindow( DapiWindowInfo* winfo, long window ) --------------------------------------------------------------------- - -Initializes DapiWindowInfo with data about given window. - -winfo: DapiWindowInfo data structure to initialize -window: Window handle (as used with X Window System) - - -void dapi_freeWindowInfo( DapiWindowInfo winfo ) ------------------------------------------------- - -Frees DapiWindowInfo structure data. - -winfo: DapiWindowInfo data structure to free data from. - - -intarr ------- - -A structure representing an integer array. -typedef struct - { - int count; - int* data; - } intarr; -'count' is number of elements, 'data' is array of elements. - - -void dapi_freeintarr( intarr arr ) ----------------------------------- - -Convenience function that frees dynamically allocated data from intarr. -All DAPI functions that return intarr allocate the data dynamically -and the caller must free it. - - -stringarr ---------- - -A structure representing a string array. -typedef struct - { - int count; - char** data; - } stringarr; -'count' is number of elements, 'data' is array of char* strings. - - -void dapi_freestringarr( stringarr arr ) ----------------------------------------- - -Convenience function that frees dynamically allocated data from stringarr. -All DAPI functions that return stringarr allocate the data dynamically -and the caller must free it. - - - - - - -Utility functions -================= - - -DapiConnection* dapi_connect( void ) ------------------------------------- - -Tries to connect to a running backend daemon. - -Returns: NULL if failed, opaque connection handle if success. - - -DapiConnection* dapi_connectAndInit( void ) -------------------------------------------- - -Convenience function that calls dapi_connect() and if successful -also performs initialization by calling dapi_Init() (see later). - - -void dapi_close( DapiConnection* conn ) ---------------------------------------- - -Closes a connection to a backend daemon. - -conn: Opaque connection handle. - - -int dapi_socket( DapiConnection* conn ) ---------------------------------------- - -Returns a file descriptor that can be used with system functions such as select() -to watch activity. - -conn: Opaque connection handle. -Returns: file descriptor - - -void dapi_processData( DapiConnection* conn ) ---------------------------------------------- - -Processes pending incoming data on the connection socket. - -conn: Opaque connection handle. - - -int dapi_readCommand( DapiConnection* conn, int* comm, int* seq ) ------------------------------------------------------------------ - -Reads a command header of the next incoming command request/reply. - -conn: Opaque connection handle. -comm: Id number of the incomming command. -seq: Sequence number of the incoming command. -Returns: 1 if successful, 0 if failure - - -TBD: -typedef void (*DapiGenericCallback)( DapiConnection* conn, int command, int seq ); -DapiGenericCallback dapi_setGenericCallback( DapiConnection* conn, DapiGenericCallback callback ); -void dapi_genericCallback( DapiConnection* conn, int command, int seq ); - - - - - - -Calls functions -=============== - - -There are several ways to invoke the API calls. For call XYZ there is: - -- lowlevel dapi_writeCommandXYZ(), dapi_readReplyXYZ() calls that write a command - request resp. read a command reply. - - dapi_writeCommandXYZ() writes a command header and all command arguments and - returns either 0 if failure or sequence number of the command. Each command request - has a specific sequence number assigned and is used to identify replies. - - dapi_readCommandXYZ() reads all reply arguments. It doesn't read command header, - dapi_readCommand() must be called first to identify a command. Returns 1 if success - or 0 if failure. - - Include file dapi/comm_generated.h contains all function prototypes. - -- blocking dapi_XYZ() call that writes a command request and waits for a reply. - Include file dapi/calls_generated.h contains all function prototypes. - -- non-blocking dapi_callbackXYZ() call that writes a command and invokes the passed - callback when a reply comes. - - dapi_callbackXYZ() returns a sequence number if success or 0 if failure - - Include file dapi/callbacks_generated.h contains all function prototypes. diff --git a/doc/C-HOWTO.txt b/doc/C-HOWTO.txt deleted file mode 100644 index bb0fe97..0000000 --- a/doc/C-HOWTO.txt +++ /dev/null @@ -1,182 +0,0 @@ -============================================================================== - C API bindings HOWTO -============================================================================== - -This file contains HOWTO information specific to the C bindings. Refer to the generic -API documentation for information that is not specific to C bindings and to -C-API.txt for description of C bindings. - - -Note: Most test programs in tests/ can be also used as examples. - - -Linking with the library -======================== - - -Use #include <dapi/headerfile.h> and add proper include path flags for the compiler -if necessary. - -Add -ldapi and proper library path flags for the linker if necessary. - - - -Handling the DAPI connection -============================ - - -Before using any API calls it is necessary to initialize the DAPI connection first. - -static DapiConnection* my_dapi_connection = NULL; -... -int initializeDapi() - { - my_dapi_connection = dapi_connectAndInit(); - if( my_dapi_connection == NULL ) - return 0; /* oops, failure */ - return 1; - } - -If you want to do more than just perform a simple blocking call, you need to watch -the connection for activity. Use dapi_socket() to get the file descriptor to watch -and call dapi_processData(). - -void mainloop() - { - fd_set in; - FD_ZERO( &in ); - ... all file descriptors the app wants to watch - FD_SET( dapi_socket( my_dapi_connection ), &in ); - ... select() call here - if( FD_ISSET( dapi_socket( my_dapi_connection ), &in )) - dapi_processData( my_dapi_connection ); - ... - } - -Closing of the connection is done using dapi_close(); - - - -Blocking calls -============== - - -For blocking calls, just simply call the matching API function. For example, to open -URL in a browser: - -int openURL( const char* url ) - { - if( dapi_OpenUrl_Window( my_dapi_connection, url, XWINDOW_HANDLE( toplevel_widget ))) - return 1; - ... failure - } - - -OpenUrl call needs a toplevel window in which the request originated (to handle properly -window relations and focus). It is strongly discouraged to omit this information. -If the application has no window at all, use 0. Note a convenience _Window function is -used instead of DapiWindowInfo and dapi_windowInfoInitWindow(). - - -Functions are responsible for freeing resources allocated by the call. For example -when converting KDE's media:/ URL to a local file: - -void handle_media_url( const char* url ) - { - char* local; - /* convert to local file, don't allow download to a temporary file */ - local = dapi_LocalFile_Window( my_dapi_connection, url, NULL, 0, XWINDOW_HANDLE( toplevel_widget )); - if( local != NULL ) /* success */ - { - handle_local_file( local ); - free( local ); - return; - } - } - - -Callbacks -========= - - -Some calls such as downloading a remote file to a temporary local file may take long time -and as such should be processed asynchronously. It is possible to do so using the lowlevel -dapi_read/write function or using callbacks. - -int start_downloading_remote_url( const char* url ) - { - int seq = dapi_callbackLocalFile_Window( my_dapi_connection, url, NULL, 1, XWINDOW_HANDLE( toplevel_widget ), - download_remote_url_callback ); - if( seq != 0 ) - return seq; - ... failure - } - -void download_remote_url_callback( DapiConnection* conn, int seq, const char* result ) - { - /* if this callback is used for more calls, use seq and the value returned from dapi_callbackLocalFile_Window - to identify matching command and reply */ - if( result[ 0 ] != '\0' ) - ... success - else - ... failed to download - } - - -NOTE: Callbacks should not deallocate any of its arguments, callback handling will perform this -automatically after the callback returns. - - -Fallbacks -========= - - -API calls may fail for various reasons: No backend daemon is running or it doesn't implement -the required functionality. - -No backend daemon running -------------------------- - -TODO: fallback daemons don't make sense, the library should try to implement fallbacks - - -Some functionality not available --------------------------------- - -It is possible to query functionality provided by the backend daemon. - -int is_openurl_supported() - { - intarr capabilities; - int i; - if( dapi_Capabilities( conn, &capabilities )) - { - int has_openurl = 0; - for( i = 0; - i < capabilities.count; - ++i ) - { - if( capabilities.data[ i ] == DAPI_COMMAND_OPENURL ) - has_openurl = 1; - } - } - return has_openurl; - } - -See dapi/comm_generated.h for list of command ids (DAPI_COMMAND_MAILTO for MailTo call etc.) - -Applications may perform one Capabilities call after initializing connection and query for all -required functionality. If they don't find it available they may as well close this connection -and use a fallback daemon in order to expect all calls to succeed. - - -Fallback code -------------- - -Another approach is to just initialize connection and test for failure after every call. - -void openURL( const char* url ) - { - if( !dapi_OpenUrl_Window( my_dapi_connection, url, XWINDOW_HANDLE( toplevel_widget ))) - openInHardcodedBrowser( url ); - } diff --git a/generic/.cvsignore b/generic/.cvsignore deleted file mode 100644 index 2b97dba..0000000 --- a/generic/.cvsignore +++ /dev/null @@ -1,5 +0,0 @@ -.deps -.libs -Makefile -Makefile.in -dapi_generic diff --git a/generic/Makefile.am b/generic/Makefile.am deleted file mode 100644 index 3ceb02f..0000000 --- a/generic/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ -bin_PROGRAMS = dapi_generic - -dapi_generic_SOURCES = main.c commands.c -dapi_generic_LDADD = ../lib/libdapi.la -lXext -lX11 $(X_EXTRA_LIBS) $(X_PRE_LIBS) -dapi_generic_LDFLAGS = $(X_LIBS) - -INCLUDES = -I$(top_builddir)/include $(X_CFLAGS) diff --git a/generic/commands.c b/generic/commands.c deleted file mode 100644 index 57be41e..0000000 --- a/generic/commands.c +++ /dev/null @@ -1,71 +0,0 @@ -#include <config.h> - -#include <signal.h> -#include <stdlib.h> -#include <sys/wait.h> -#include <unistd.h> - -#include <X11/Xlib.h> - -#ifdef HAVE_DPMS -#include <X11/extensions/dpms.h> -#endif - -#include "commands.h" - -static void sigchld( int s ) - { - int status; - ( void ) s; - while( waitpid( -1, &status, WNOHANG ) > 0 ) - ; - } - -int openUrl( const char* url ) - { - struct sigaction sa, saold; - sa.sa_handler = sigchld; - sa.sa_flags = SA_NOCLDSTOP | SA_RESTART; - sigemptyset( &sa.sa_mask ); - sigaction( SIGCHLD, &sa, &saold ); - if( fork() == 0 ) - { - const char* browser = getenv( "BROWSER" ); - if( browser != NULL ) - execlp( browser, browser, url, NULL ); - execlp( "firefox", "firefox", url, NULL ); - execlp( "mozilla", "mozilla", url, NULL ); - execlp( "netscape", "netscape", url, NULL ); - execlp( "opera", "opera", url, NULL ); - exit( 1 ); - } - return 1; /* TODO */ - } - -int suspendScreensaving( Display* dpy, int suspend ) - { -#ifdef HAVE_DPMS - if( !DPMSCapable( dpy )) - return 0; - if( suspend ) - return DPMSDisable( dpy ); - else - return DPMSEnable( dpy ); -#else - return 0; -#endif - } - -int mailTo( const char* subject, const char* body, const char* to, - const char* cc, const char* bcc, const char** attachments, int att_count ) - { - ( void ) subject; - ( void ) body; - ( void ) to; - ( void ) cc; - ( void ) bcc; - ( void ) attachments; - ( void ) att_count; - /* TODO */ - return 0; - } diff --git a/generic/commands.h b/generic/commands.h deleted file mode 100644 index 7874162..0000000 --- a/generic/commands.h +++ /dev/null @@ -1,4 +0,0 @@ -int openUrl( const char* url ); -int suspendScreensaving( Display* dpy, int suspend ); -int mailTo( const char* subject, const char* body, const char* to, - const char* cc, const char* bcc, const char** attachments, int att_count ); diff --git a/generic/main.c b/generic/main.c deleted file mode 100644 index 0fb8a96..0000000 --- a/generic/main.c +++ /dev/null @@ -1,389 +0,0 @@ -#include <stdarg.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> - -#include <X11/Xlib.h> - -#include "commands.h" -#include <dapi/comm.h> - -static void debug( const char* fmt, ... ) -#ifdef __GNUC__ - __attribute (( format( printf, 1, 2 ))) -#endif - ; - -static void debug( const char* fmt, ... ) - { - va_list va; - va_start( va, fmt ); - vfprintf( stderr, fmt, va ); - va_end( va ); - fprintf( stderr, "\n" ); - } - -DapiConnection** connections = NULL; -int num_connections = 0; - -Display* dpy = NULL; - -static void closeConnection( DapiConnection* conn ) - { - int i; - debug( "Closing %d", dapi_socket( conn )); - for( i = 0; - i < num_connections; - ++i ) - { - if( connections[ i ] == conn ) - { - connections[ i ] = NULL; - break; - } - } - dapi_close( conn ); - } - -static void processCommandInit( DapiConnection* conn, int seq ) - { - if( !dapi_readCommandInit( conn )) - { - closeConnection( conn ); - return; - } - debug( "Init %d", dapi_socket( conn )); - dapi_writeReplyInit( conn, seq, 1 ); - } - -/* TODO */ -static int caps[] = - { - DAPI_COMMAND_INIT, - DAPI_COMMAND_CAPABILITIES, - DAPI_COMMAND_OPENURL, -/* DAPI_COMMAND_EXECUTEURL,*/ - DAPI_COMMAND_BUTTONORDER, -/* DAPI_COMMAND_RUNASUSER,*/ - DAPI_COMMAND_SUSPENDSCREENSAVING, -/* DAPI_COMMAND_MAILTO,*/ - DAPI_COMMAND_LOCALFILE, - DAPI_COMMAND_UPLOADFILE, - DAPI_COMMAND_REMOVETEMPORARYLOCALFILE - }; - -static void processCommandCapabilities( DapiConnection* conn, int seq ) - { - intarr capabilities; - if( !dapi_readCommandInit( conn )) - { - closeConnection( conn ); - return; - } - debug( "Capabilities %d", dapi_socket( conn )); - capabilities.count = sizeof( caps ) / sizeof( caps[ 0 ] ); - capabilities.data = caps; - dapi_writeReplyCapabilities( conn, seq, capabilities, 1 ); - } - -static void processCommandOpenUrl( DapiConnection* conn, int seq ) - { - int ok; - char* url; - DapiWindowInfo winfo; - if( !dapi_readCommandOpenUrl( conn, &url, &winfo )) - { - closeConnection( conn ); - return; - } - debug( "Open url %d: %s", dapi_socket( conn ), url ); - /* winfo ? */ - ok = openUrl( url ); - dapi_writeReplyOpenUrl( conn, seq, ok ? 1 : 0 ); - free( url ); - dapi_freeWindowInfo( winfo ); - } - -static void processCommandButtonOrder( DapiConnection* conn, int seq ) - { - if( !dapi_readCommandButtonOrder( conn )) - { - closeConnection( conn ); - return; - } - debug( "Button order %d", dapi_socket( conn )); - dapi_writeReplyButtonOrder( conn, seq, 1 ); - } - -static void processCommandExecuteUrl( DapiConnection* conn, int seq ) - { - char* url; - DapiWindowInfo winfo; - if( !dapi_readCommandExecuteUrl( conn, &url, &winfo )) - { - closeConnection( conn ); - return; - } - debug( "Execute url %d: %s", dapi_socket( conn ), url ); - dapi_writeReplyExecuteUrl( conn, seq, 0 ); /* TODO failure ??? */ - free( url ); - dapi_freeWindowInfo( winfo ); - } - -static void processCommandRunAsUser( DapiConnection* conn, int seq ) - { - char* user; - char* command; - DapiWindowInfo winfo; - if( !dapi_readCommandRunAsUser( conn, &user, &command, &winfo )) - { - closeConnection( conn ); - return; - } - debug( "Run as user %d: %s %s", dapi_socket( conn ), user, command ); - dapi_writeReplyRunAsUser( conn, seq, 0 ); /* TODO failure ??? */ - free( user ); - free( command ); - dapi_freeWindowInfo( winfo ); - } - -static void processCommandSuspendScreensaving( DapiConnection* conn, int seq ) - { - int suspend; - int ok; - static int suspend_count = 0; - if( !dapi_readCommandSuspendScreensaving( conn, &suspend )) - { - closeConnection( conn ); - return; - } - debug( "Suspend screensaving %d: %d", dapi_socket( conn ), suspend ); - /* TODO remember setting per-connection and - - reset on disconnect - - ignore repeated set - */ - suspend_count += suspend ? 1 : -1; - if( suspend_count < 0 ) - suspend_count = 0; - ok = suspendScreensaving( dpy, suspend_count > 0 ); - dapi_writeReplySuspendScreensaving( conn, seq, ok ? 1 : 0 ); - } - -static void processCommandMailTo( DapiConnection* conn, int seq ) - { - int ok; - char* subject; - char* body; - char* to; - char* cc; - char* bcc; - stringarr attachments; - DapiWindowInfo winfo; - if( !dapi_readCommandMailTo( conn, &subject, &body, &to, &cc, &bcc, &attachments, &winfo )) - { - closeConnection( conn ); - return; - } - debug( "Mail to %d: %s", dapi_socket( conn ), subject ); - /* winfo ? */ - ok = mailTo( subject, body, to, cc, bcc, ( const char** ) attachments.data, attachments.count ); - dapi_writeReplyMailTo( conn, seq, ok ? 1 : 0 ); - free( subject ); - free( body ); - free( to ); - free( cc ); - free( bcc ); - dapi_freestringarr( attachments ); - dapi_freeWindowInfo( winfo ); - } - -static void processCommandLocalFile( DapiConnection* conn, int seq ) - { - char* file; - char* local; - int allow_download; - const char* result = NULL; - DapiWindowInfo winfo; - if( !dapi_readCommandLocalFile( conn, &file, &local, &allow_download, &winfo )) - { - closeConnection( conn ); - return; - } - debug( "Local file %d: %s %s %d", dapi_socket( conn ), file, local, allow_download ); - if( file[ 0 ] == '/' ) - result = file; /* is it already local */ - else if( strncmp( file, "file:///", strlen( "file:///" )) == 0 ) - result = file + strlen( "file://" ); /* local url */ - else - result = NULL; - /* local is unused, no real downloading */ - dapi_writeReplyLocalFile( conn, seq, result ); - free( file ); - dapi_freeWindowInfo( winfo ); - } - -static void processCommandUploadFile( DapiConnection* conn, int seq ) - { - char* local; - char* file; - int remove_local; - int ok; - DapiWindowInfo winfo; - if( !dapi_readCommandUploadFile( conn, &local, &file, &remove_local, &winfo )) - { - closeConnection( conn ); - return; - } - debug( "Upload file %d: %s %s %d", dapi_socket( conn ), local, file, remove_local ); - if( file[ 0 ] == '/' && strcmp( local, file ) == 0 ) - ok = 1; - else if( strncmp( file, "file:///", strlen( "file:///" )) == 0 - && strcmp( file + strlen( "file://" ), local ) == 0 ) - ok = 1; - else - ok = 0; - /* remove_local is unused, no real uploading */ - dapi_writeReplyUploadFile( conn, seq, ok ); - free( local ); - free( file ); - dapi_freeWindowInfo( winfo ); - } - -static void processCommandRemoveTemporaryLocalFile( DapiConnection* conn, int seq ) - { - char* file; - if( !dapi_readCommandRemoveTemporaryLocalFile( conn, &file )) - { - closeConnection( conn ); - return; - } - debug( "Remove temporary %d: %s", dapi_socket( conn ), file ); - dapi_writeReplyRemoveTemporaryLocalFile( conn, seq, 1 ); - free( file ); - } - - -static void processCommand( DapiConnection* conn ) - { - int command; - int seq; - if( !dapi_readCommand( conn, &command, &seq )) - { - closeConnection( conn ); - return; - } - debug( "Command %d: %d (%d)", dapi_socket( conn ), command, seq ); - switch( command ) - { - case DAPI_COMMAND_INIT: - processCommandInit( conn, seq ); - return; - case DAPI_COMMAND_CAPABILITIES: - processCommandCapabilities( conn, seq ); - return; - case DAPI_COMMAND_OPENURL: - processCommandOpenUrl( conn, seq ); - return; - case DAPI_COMMAND_EXECUTEURL: - processCommandExecuteUrl( conn, seq ); - return; - case DAPI_COMMAND_BUTTONORDER: - processCommandButtonOrder( conn, seq ); - return; - case DAPI_COMMAND_RUNASUSER: - processCommandRunAsUser( conn, seq ); - return; - case DAPI_COMMAND_SUSPENDSCREENSAVING: - processCommandSuspendScreensaving( conn, seq ); - return; - case DAPI_COMMAND_MAILTO: - processCommandMailTo( conn, seq ); - return; - case DAPI_COMMAND_LOCALFILE: - processCommandLocalFile( conn, seq ); - return; - case DAPI_COMMAND_UPLOADFILE: - processCommandUploadFile( conn, seq ); - return; - case DAPI_COMMAND_REMOVETEMPORARYLOCALFILE: - processCommandRemoveTemporaryLocalFile( conn, seq ); - return; - default: - debug( "Unknown command %d: %d", dapi_socket( conn ), command ); - return; - } - } - -int main( int argc, char* argv[] ) - { - int i; - int mainsock; - dpy = XOpenDisplay( NULL ); - if( dpy == NULL ) - { - fprintf( stderr, "Cannot open X connection!\n" ); - return 1; - } - mainsock = dapi_bindSocket(); - if( mainsock < 0 ) - return 2; - for(;;) - { - fd_set in; - FD_ZERO( &in ); - FD_SET( mainsock, &in ); - int maxsock = mainsock; - for( i = 0; - i < num_connections; - ++i ) - if( connections[ i ] != NULL ) - { - int sock = dapi_socket( connections[ i ] ); - FD_SET( sock, &in ); - if( sock > maxsock ) - maxsock = sock; - } - FD_SET( XConnectionNumber( dpy ), &in ); - if( XConnectionNumber( dpy ) > maxsock ) - maxsock = XConnectionNumber( dpy ); - select( maxsock + 1, &in, NULL, NULL, NULL ); - if( FD_ISSET( XConnectionNumber( dpy ), &in )) - { - while( XPending( dpy )) - { - XEvent ev; - XNextEvent( dpy, &ev ); - } - } - for( i = 0; - i < num_connections; - ++i ) - { - if( connections[ i ] != NULL && FD_ISSET( dapi_socket( connections[ i ] ), &in )) - processCommand( connections[ i ] ); - } - if( FD_ISSET( mainsock, &in )) - { - DapiConnection* conn = dapi_acceptSocket( mainsock ); - if( conn != NULL ) - { - int pos; - debug( "New connection: %d", dapi_socket( conn )); - for( pos = 0; - pos < num_connections; - ++pos ) - { - if( connections[ pos ] == NULL ) - break; - } - if( pos == num_connections ) - { - ++num_connections; - connections = realloc( connections, sizeof( DapiConnection* ) * num_connections ); - } - connections[ pos ] = conn; - } - } - } - } diff --git a/include/.cvsignore b/include/.cvsignore deleted file mode 100644 index 282522d..0000000 --- a/include/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/include/Makefile.am b/include/Makefile.am deleted file mode 100644 index 643b948..0000000 --- a/include/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -SUBDIRS = dapi diff --git a/include/dapi/.cvsignore b/include/dapi/.cvsignore deleted file mode 100644 index 282522d..0000000 --- a/include/dapi/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/include/dapi/Makefile.am b/include/dapi/Makefile.am deleted file mode 100644 index 4f0b43b..0000000 --- a/include/dapi/Makefile.am +++ /dev/null @@ -1,37 +0,0 @@ -BUILT_SOURCES = comm.h calls.h callbacks.h \ - comm_generated.c calls_generated.c callbacks_generated.c \ - comm_generated.h calls_generated.h callbacks_generated.h comm_internal_generated.h - -dapiinclude_HEADERS = comm.h calls.h callbacks.h comm_generated.h calls_generated.h callbacks_generated.h - -dapiincludedir = $(includedir)/dapi - -comm.h: - $(LN_S) $(top_srcdir)/lib/comm.h - -calls.h: - $(LN_S) $(top_srcdir)/lib/calls.h - -callbacks.h: - $(LN_S) $(top_srcdir)/lib/callbacks.h - -comm_generated.h: - $(LN_S) $(top_srcdir)/kde/gen/comm_generated.h - -calls_generated.h: - $(LN_S) $(top_srcdir)/kde/gen/calls_generated.h - -callbacks_generated.h: - $(LN_S) $(top_srcdir)/kde/gen/callbacks_generated.h - -comm_internal_generated.h: - $(LN_S) $(top_srcdir)/kde/gen/comm_internal_generated.h - -comm_generated.c: - $(LN_S) $(top_srcdir)/kde/gen/comm_generated.c - -calls_generated.c: - $(LN_S) $(top_srcdir)/kde/gen/calls_generated.c - -callbacks_generated.c: - $(LN_S) $(top_srcdir)/kde/gen/callbacks_generated.c diff --git a/kde/.cvsignore b/kde/.cvsignore deleted file mode 100644 index 194198e..0000000 --- a/kde/.cvsignore +++ /dev/null @@ -1,18 +0,0 @@ -.autoconf_trace -Makefile -Makefile.in -acinclude.m4 -aclocal.m4 -autom4te.cache -config.cache -config.h -config.h.in -config.log -config.status -configure -configure.files -configure.in -libtool -stamp-h.in -stamp-h1 -subdirs diff --git a/kde/LICENSE b/kde/LICENSE deleted file mode 100644 index 57a558f..0000000 --- a/kde/LICENSE +++ /dev/null @@ -1,490 +0,0 @@ -(Note: The KDE part is LGPL only because of -https://bugs.freedesktop.org/show_bug.cgi?id=7341, -i.e. only because of the admin/ dir. Everything else -is MIT licensed like the rest of the source. As the KDE -part is independent from the rest this shouldn't matter -in practice anyway.) - - - GNU LIBRARY GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor - Boston, MA 02110-1301, USA. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Library General Public License, applies to some -specially designated Free Software Foundation software, and to any -other libraries whose authors decide to use it. You can use it for -your libraries, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if -you distribute copies of the library, or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link a program with the library, you must provide -complete object files to the recipients so that they can relink them -with the library, after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - Our method of protecting your rights has two steps: (1) copyright -the library, and (2) offer you this license which gives you legal -permission to copy, distribute and/or modify the library. - - Also, for each distributor's protection, we want to make certain -that everyone understands that there is no warranty for this free -library. If the library is modified by someone else and passed on, we -want its recipients to know that what they have is not the original -version, so that any problems introduced by others will not reflect on -the original authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that companies distributing free -software will individually obtain patent licenses, thus in effect -transforming the program into proprietary software. To prevent this, -we have made it clear that any patent must be licensed for everyone's -free use or not licensed at all. - - Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License, which was designed for utility programs. This -license, the GNU Library General Public License, applies to certain -designated libraries. This license is quite different from the ordinary -one; be sure to read it in full, and don't assume that anything in it is -the same as in the ordinary license. - - The reason we have a separate public license for some libraries is that -they blur the distinction we usually make between modifying or adding to a -program and simply using it. Linking a program with a library, without -changing the library, is in some sense simply using the library, and is -analogous to running a utility program or application program. However, in -a textual and legal sense, the linked executable is a combined work, a -derivative of the original library, and the ordinary General Public License -treats it as such. - - Because of this blurred distinction, using the ordinary General -Public License for libraries did not effectively promote software -sharing, because most developers did not use the libraries. We -concluded that weaker conditions might promote sharing better. - - However, unrestricted linking of non-free programs would deprive the -users of those programs of all benefit from the free status of the -libraries themselves. This Library General Public License is intended to -permit developers of non-free programs to use free libraries, while -preserving your freedom as a user of such programs to change the free -libraries that are incorporated in them. (We have not seen how to achieve -this as regards changes in header files, but we have achieved it as regards -changes in the actual functions of the Library.) The hope is that this -will lead to faster development of free libraries. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, while the latter only -works together with the library. - - Note that it is possible for a library to be covered by the ordinary -General Public License rather than by this special one. - - GNU LIBRARY GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library which -contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Library -General Public License (also called "this License"). Each licensee is -addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also compile or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - c) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - d) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the source code distributed need not include anything that is normally -distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Library General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - <one line to give the library's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - <signature of Ty Coon>, 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/kde/Makefile.am b/kde/Makefile.am deleted file mode 100644 index db02bf2..0000000 --- a/kde/Makefile.am +++ /dev/null @@ -1,8 +0,0 @@ -## kdebase/Makefile.am -## (C) 1997 Stephan Kulow - -SUBDIRS = $(TOPSUBDIRS) - -include admin/deps.am - -AUTOMAKE_OPTIONS = foreign diff --git a/kde/Makefile.cvs b/kde/Makefile.cvs deleted file mode 100644 index d5c4a7b..0000000 --- a/kde/Makefile.cvs +++ /dev/null @@ -1,15 +0,0 @@ - -all: - @echo "This Makefile is only for the CVS repository" - @echo "This will be deleted before making the distribution" - @echo "" - @if test ! -d admin; then \ - echo "Please recheckout this module!" ;\ - echo "for cvs: use checkout once and after that update again" ;\ - echo "for cvsup: checkout kde-common from cvsup and" ;\ - echo " link kde-common/admin to ./admin" ;\ - exit 1 ;\ - fi - $(MAKE) -f admin/Makefile.common cvs - -.SILENT: diff --git a/kde/admin/Doxyfile.am b/kde/admin/Doxyfile.am deleted file mode 100644 index 7ef5b5c..0000000 --- a/kde/admin/Doxyfile.am +++ /dev/null @@ -1,102 +0,0 @@ -## generate API documentation with doxygen -apidox-am-yes: - @if test \! -d "$(top_srcdir)/doc/common/" && test -z "$$DOXDATA" ; then \ - export DOXDATA=$(kde_libs_htmldir)/en/common ; \ - fi ; \ - abs_top_srcdir=`cd $(top_srcdir) && pwd` ;\ - test -d $(top_builddir)/apidocs || \ - ( cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \ - --no-modulename --installdir=$(kde_libs_htmldir)/en \ - --no-recurse $(abs_top_srcdir) . ) ; \ - cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \ - --recurse --no-modulename --installdir=$(kde_libs_htmldir)/en \ - $$abs_top_srcdir $(subdir) - -apidox-am-toplevel-yes: - @if test \! -d "$(top_srcdir)/doc/common/" && test -z "$$ADMIN" ; then \ - export DOXDATA=$(kde_libs_htmldir)/en/common ; \ - fi ; \ - abs_top_srcdir=`cd $(top_srcdir) && pwd` ;\ - cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \ - --no-modulename --installdir=$(kde_libs_htmldir)/en \ - $$abs_top_srcdir - -## Don't generate API documentation without doxygen -apidox-am-no: - -apidox-am-toplevel-no: - - -apidox: - @if test "$(subdir)" != "."; then \ - $(MAKE) apidox-am-@KDE_HAS_DOXYGEN@ ;\ - else \ - $(MAKE) apidox-am-toplevel-@KDE_HAS_DOXYGEN@ ;\ - fi - - - -install-data-local: install-apidox - -## install API documentation -install-apidox: - @if test "$(subdir)" != "."; then \ - $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html ; \ - if test -f $(top_builddir)/apidocs/$(subdir)/$(subdir).tag; then \ - echo $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/$(subdir).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \ - $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/$(subdir).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \ - fi; \ - if test -d $(top_builddir)/apidocs/$(subdir)/html; then \ - list=`ls $(top_builddir)/apidocs/$(subdir)/html`; \ - echo "installing $(top_builddir)/apidocs/$(subdir)/html" ;\ - for file in $$list; do \ - $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/html/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html; \ - done; \ - fi; \ - else\ - if test -d $(top_builddir)/apidocs; then \ - $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs ;\ - list=`cd $(top_builddir)/apidocs && ls -1`; \ - echo "installing $(top_builddir)/apidocs/$$file" ;\ - echo "target directory $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs" ; \ - for file in $$list; do \ - if test -f $(top_builddir)/apidocs/$$file; then \ - $(INSTALL_DATA) $(top_builddir)/apidocs/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \ - fi; \ - done ; fi; \ - fi - -uninstall-local: uninstall-apidox - -## uninstall API documentation -uninstall-apidox: - @if test "$(subdir)" != "."; then \ - if test -d $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); then \ - rm -rfv $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \ - fi \ - else \ - if test -d $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; then \ - rm -rfv $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \ - fi \ - fi - -install-apidox-recurse: install-apidox - @set fnord $(MAKEFLAGS); amf=$$2; if test -n '$(SUBDIRS)'; then \ - list='$(SUBDIRS)'; \ - for subdir in $$list; do \ - if grep '^include .*Doxyfile.am' $(srcdir)/$$subdir/Makefile.am > /dev/null ; then \ - echo "Installing apidox from $$subdir"; \ - if test "$$subdir" != "."; then \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) GENERATE_FLAG=no install-apidox-recurse) || exit 1; \ - fi ; fi ;\ - done; \ - fi - - - -.PHONY: apidox-am-yes apidox-am-no install-data-local install-apidox install-apidox uninstall-local uninstall-apidox uninstall-apidox apidox apidox-am-toplevel-no apidox-am-toplevel-yes - - -# Local Variables: -# mode: makefile -# End: diff --git a/kde/admin/Doxyfile.global b/kde/admin/Doxyfile.global deleted file mode 100755 index 1b9f560..0000000 --- a/kde/admin/Doxyfile.global +++ /dev/null @@ -1,192 +0,0 @@ -OUTPUT_LANGUAGE = English -USE_WINDOWS_ENCODING = NO -BRIEF_MEMBER_DESC = NO -REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = -ALWAYS_DETAILED_SEC = YES -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = NO -STRIP_FROM_PATH = -SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = YES -MULTILINE_CPP_IS_BRIEF = NO -INHERIT_DOCS = YES -DISTRIBUTE_GROUP_DOC = NO -TAB_SIZE = 4 -OPTIMIZE_OUTPUT_FOR_C = NO -OPTIMIZE_OUTPUT_JAVA = NO -SUBGROUPING = YES -EXTRACT_ALL = NO -EXTRACT_PRIVATE = NO -EXTRACT_STATIC = YES -EXTRACT_LOCAL_CLASSES = NO -HIDE_UNDOC_MEMBERS = NO -HIDE_UNDOC_CLASSES = YES -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -INTERNAL_DOCS = NO -CASE_SENSE_NAMES = YES -HIDE_SCOPE_NAMES = NO -SHOW_INCLUDE_FILES = YES -INLINE_INFO = YES -SORT_BRIEF_DOCS = NO -SORT_BY_SCOPE_NAME = NO -GENERATE_TESTLIST = NO -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -SHOW_USED_FILES = YES -QUIET = YES -WARNINGS = NO -WARN_IF_UNDOCUMENTED = NO -WARN_IF_DOC_ERROR = YES -WARN_FORMAT = -WARN_LOGFILE = -INPUT = -FILE_PATTERNS = *.h \ - *.cpp \ - *.cc \ - *.hpp \ - *.dox \ - *.c++ \ - *.cxx \ - *.h++ \ - *.hh -RECURSIVE = YES -EXCLUDE = -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = *.moc.* \ - moc* \ - *.all_cpp.* \ - *unload.* \ - */test/* \ - */tests/* \ - *_p.h -EXAMPLE_PATH = -EXAMPLE_PATTERNS = -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_SOURCE_FILES = NO -SOURCE_BROWSER = YES -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = YES -REFERENCES_RELATION = YES -VERBATIM_HEADERS = YES -ALPHABETICAL_INDEX = YES -COLS_IN_ALPHA_INDEX = 3 -HTML_OUTPUT = -HTML_FILE_EXTENSION = .html -HTML_HEADER = ../apidocs/common/header.html -HTML_FOOTER = ../apidocs/common/footer.html -HTML_STYLESHEET = ../apidocs/common/doxygen.css -HTML_ALIGN_MEMBERS = YES -GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -BINARY_TOC = NO -TOC_EXPAND = NO -DISABLE_INDEX = YES -ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = NO -TREEVIEW_WIDTH = 250 -GENERATE_LATEX = NO -LATEX_OUTPUT = -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = NO -USE_PDFLATEX = NO -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO -GENERATE_RTF = NO -RTF_OUTPUT = -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -GENERATE_MAN = NO -MAN_OUTPUT = -MAN_EXTENSION = .kde3 -MAN_LINKS = YES -GENERATE_XML = NO -XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = -XML_PROGRAMLISTING = NO -GENERATE_AUTOGEN_DEF = NO -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = -ENABLE_PREPROCESSING = YES -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = QT_VERSION=320 \ - __cplusplus \ - Q_WS_X11 -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = NO -PERL_PATH = -CLASS_DIAGRAMS = YES -HIDE_UNDOC_RELATIONS = NO -HAVE_DOT = NO -UML_LOOK = NO -TEMPLATE_RELATIONS = YES -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = YES -CALL_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = -MAX_DOT_GRAPH_WIDTH = 800 -MAX_DOT_GRAPH_HEIGHT = 1024 -MAX_DOT_GRAPH_DEPTH = 0 -GENERATE_LEGEND = YES -DOT_CLEANUP = YES -SEARCHENGINE = NO - -### KDE Settings -ALIASES = \ - "intern=\par<b>Internal use only.</b>" \ - "reimp=\par<b>Reimplemented from superclass.</b>" \ - "obsolete=@deprecated" \ - "feature=\xrefitem features \"Feature(s)\" \"Features\"" \ - "maintainer=\xrefitem maintainers \"Maintainer(s)\" \"Maintainers\"" \ - "unmaintained=\xrefitem unmaintained \"Unmaintained\" \"Unmaintained\"" \ - "requirement=\xrefitem requirements \"Requirement(s)\" \"Requirements\"" \ - "faq=\xrefitem FAQ \"F.A.Q.\" \"F.A.Q.\"" \ - "authors=\xrefitem authors \"Author(s)\" \"Authors\"" \ - "FIXME=\xrefitem fixme \"Fixme\" \"Fixme\"" - -HTML_ALIGN_MEMBERS = YES -REFERENCED_BY_RELATION = NO -REFERENCES_RELATION = NO -VERBATIM_HEADERS = NO -GENERATE_HTML = YES -SOURCE_BROWSER = YES -GENERATE_AUTOGEN_DEF = NO -DETAILS_AT_TOP = YES -SORT_MEMBER_DOCS = YES -GENERATE_TODOLIST = YES -IGNORE_PREFIX = K -GENERATE_HTML = YES -CLASS_GRAPH = YES -COLLABORATION_GRAPH = NO - - -MACRO_EXPANSION = YES -EXPAND_ONLY_PREDEF = YES - diff --git a/kde/admin/Makefile.common b/kde/admin/Makefile.common deleted file mode 100644 index d07b404..0000000 --- a/kde/admin/Makefile.common +++ /dev/null @@ -1,37 +0,0 @@ -### Makefile.common -### -### Copyright (C) 2002 by the KDE developers - -### All the real work is done by the shellscript cvs.sh - -SHELL=/bin/sh - -cvs dist configure configure.in configure.files subdirs package-messages package-merge Makefile.am acinclude.m4 extract-messages: - @admindir=$(admindir); \ - if test "x$$admindir" = x; then \ - admindir=.; until test -f $$admindir/admin/cvs.sh; do \ - admindir=$$admindir/..; \ - if test `cd $$admindir && pwd` = / ; then break; fi; \ - done; \ - admindir=$$admindir/admin; \ - if test -f $$admindir/cvs.sh; then :; else \ - echo "Can't find the admin/ directory in any parent of the"; \ - echo "current directory. Please set it with admindir=..."; \ - exit 1; \ - fi; \ - fi; \ - if test "$@" = "package-merge"; then \ - MAKE="$(MAKE)" POFILES="$(POFILES)" PACKAGE="$(PACKAGE)" \ - $(SHELL) $$admindir/cvs.sh package-merge ;\ - else \ - MAKE="$(MAKE)" $(SHELL) $$admindir/cvs.sh $@ ;\ - fi - -configure.in: configure.files subdirs -configure.files: subdirs - -svn: cvs - -.SILENT: - -.PHONY: svn cvs dist package-merge package-messages diff --git a/kde/admin/acinclude.m4.in b/kde/admin/acinclude.m4.in deleted file mode 100644 index 9c19328..0000000 --- a/kde/admin/acinclude.m4.in +++ /dev/null @@ -1,5937 +0,0 @@ -## -*- autoconf -*- - -dnl This file is part of the KDE libraries/packages -dnl Copyright (C) 1997 Janos Farkas (chexum@shadow.banki.hu) -dnl (C) 1997,98,99 Stephan Kulow (coolo@kde.org) - -dnl This file is free software; you can redistribute it and/or -dnl modify it under the terms of the GNU Library General Public -dnl License as published by the Free Software Foundation; either -dnl version 2 of the License, or (at your option) any later version. - -dnl This library is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl Library General Public License for more details. - -dnl You should have received a copy of the GNU Library General Public License -dnl along with this library; see the file COPYING.LIB. If not, write to -dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -dnl Boston, MA 02110-1301, USA. - -dnl IMPORTANT NOTE: -dnl Please do not modify this file unless you expect your modifications to be -dnl carried into every other module in the repository. -dnl -dnl Single-module modifications are best placed in configure.in for kdelibs -dnl and kdebase or configure.in.in if present. - -# KDE_PATH_X_DIRECT -dnl Internal subroutine of AC_PATH_X. -dnl Set ac_x_includes and/or ac_x_libraries. -AC_DEFUN([KDE_PATH_X_DIRECT], -[ -AC_REQUIRE([KDE_CHECK_LIB64]) - -if test "$ac_x_includes" = NO; then - # Guess where to find include files, by looking for this one X11 .h file. - test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h - - # First, try using that file with no special directory specified. -AC_TRY_CPP([#include <$x_direct_test_include>], -[# We can compile using X headers with no special include directory. -ac_x_includes=], -[# Look for the header file in a standard set of common directories. -# Check X11 before X11Rn because it is often a symlink to the current release. - for ac_dir in \ - /usr/X11/include \ - /usr/X11R6/include \ - /usr/X11R5/include \ - /usr/X11R4/include \ - \ - /usr/include/X11 \ - /usr/include/X11R6 \ - /usr/include/X11R5 \ - /usr/include/X11R4 \ - \ - /usr/local/X11/include \ - /usr/local/X11R6/include \ - /usr/local/X11R5/include \ - /usr/local/X11R4/include \ - \ - /usr/local/include/X11 \ - /usr/local/include/X11R6 \ - /usr/local/include/X11R5 \ - /usr/local/include/X11R4 \ - \ - /usr/X386/include \ - /usr/x386/include \ - /usr/XFree86/include/X11 \ - \ - /usr/include \ - /usr/local/include \ - /usr/unsupported/include \ - /usr/athena/include \ - /usr/local/x11r5/include \ - /usr/lpp/Xamples/include \ - \ - /usr/openwin/include \ - /usr/openwin/share/include \ - ; \ - do - if test -r "$ac_dir/$x_direct_test_include"; then - ac_x_includes=$ac_dir - break - fi - done]) -fi # $ac_x_includes = NO - -if test "$ac_x_libraries" = NO; then - # Check for the libraries. - - test -z "$x_direct_test_library" && x_direct_test_library=Xt - test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc - - # See if we find them without any special options. - # Don't add to $LIBS permanently. - ac_save_LIBS="$LIBS" - LIBS="-l$x_direct_test_library $LIBS" -AC_TRY_LINK([#include <X11/Intrinsic.h>], [${x_direct_test_function}(1)], -[LIBS="$ac_save_LIBS" -# We can link X programs with no special library path. -ac_x_libraries=], -[LIBS="$ac_save_LIBS" -# First see if replacing the include by lib works. -# Check X11 before X11Rn because it is often a symlink to the current release. -for ac_dir in `echo "$ac_x_includes" | sed s/include/lib${kdelibsuff}/` \ - /usr/X11/lib${kdelibsuff} \ - /usr/X11R6/lib${kdelibsuff} \ - /usr/X11R5/lib${kdelibsuff} \ - /usr/X11R4/lib${kdelibsuff} \ - \ - /usr/lib${kdelibsuff}/X11 \ - /usr/lib${kdelibsuff}/X11R6 \ - /usr/lib${kdelibsuff}/X11R5 \ - /usr/lib${kdelibsuff}/X11R4 \ - \ - /usr/local/X11/lib${kdelibsuff} \ - /usr/local/X11R6/lib${kdelibsuff} \ - /usr/local/X11R5/lib${kdelibsuff} \ - /usr/local/X11R4/lib${kdelibsuff} \ - \ - /usr/local/lib${kdelibsuff}/X11 \ - /usr/local/lib${kdelibsuff}/X11R6 \ - /usr/local/lib${kdelibsuff}/X11R5 \ - /usr/local/lib${kdelibsuff}/X11R4 \ - \ - /usr/X386/lib${kdelibsuff} \ - /usr/x386/lib${kdelibsuff} \ - /usr/XFree86/lib${kdelibsuff}/X11 \ - \ - /usr/lib${kdelibsuff} \ - /usr/local/lib${kdelibsuff} \ - /usr/unsupported/lib${kdelibsuff} \ - /usr/athena/lib${kdelibsuff} \ - /usr/local/x11r5/lib${kdelibsuff} \ - /usr/lpp/Xamples/lib${kdelibsuff} \ - /lib/usr/lib${kdelibsuff}/X11 \ - \ - /usr/openwin/lib${kdelibsuff} \ - /usr/openwin/share/lib${kdelibsuff} \ - ; \ -do -dnl Don't even attempt the hair of trying to link an X program! - for ac_extension in a so sl; do - if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then - ac_x_libraries=$ac_dir - break 2 - fi - done -done]) -fi # $ac_x_libraries = NO -]) - - -dnl ------------------------------------------------------------------------ -dnl Find a file (or one of more files in a list of dirs) -dnl ------------------------------------------------------------------------ -dnl -AC_DEFUN([AC_FIND_FILE], -[ -$3=NO -for i in $2; -do - for j in $1; - do - echo "configure: __oline__: $i/$j" >&AC_FD_CC - if test -r "$i/$j"; then - echo "taking that" >&AC_FD_CC - $3=$i - break 2 - fi - done -done -]) - -dnl KDE_FIND_PATH(program-name, variable-name, list-of-dirs, -dnl if-not-found, test-parameter, prepend-path) -dnl -dnl Look for program-name in list-of-dirs+$PATH. -dnl If prepend-path is set, look in $PATH+list-of-dirs instead. -dnl If found, $variable-name is set. If not, if-not-found is evaluated. -dnl test-parameter: if set, the program is executed with this arg, -dnl and only a successful exit code is required. -AC_DEFUN([KDE_FIND_PATH], -[ - AC_MSG_CHECKING([for $1]) - if test -n "$$2"; then - kde_cv_path="$$2"; - else - kde_cache=`echo $1 | sed 'y%./+-%__p_%'` - - AC_CACHE_VAL(kde_cv_path_$kde_cache, - [ - kde_cv_path="NONE" - kde_save_IFS=$IFS - IFS=':' - dirs="" - for dir in $PATH; do - dirs="$dirs $dir" - done - if test -z "$6"; then dnl Append dirs in PATH (default) - dirs="$3 $dirs" - else dnl Prepend dirs in PATH (if 6th arg is set) - dirs="$dirs $3" - fi - IFS=$kde_save_IFS - - for dir in $dirs; do - if test -x "$dir/$1"; then - if test -n "$5" - then - evalstr="$dir/$1 $5 2>&1 " - if eval $evalstr; then - kde_cv_path="$dir/$1" - break - fi - else - kde_cv_path="$dir/$1" - break - fi - fi - done - - eval "kde_cv_path_$kde_cache=$kde_cv_path" - - ]) - - eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\"" - - fi - - if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then - AC_MSG_RESULT(not found) - $4 - else - AC_MSG_RESULT($kde_cv_path) - $2=$kde_cv_path - - fi -]) - -AC_DEFUN([KDE_MOC_ERROR_MESSAGE], -[ - AC_MSG_ERROR([No Qt meta object compiler (moc) found! -Please check whether you installed Qt correctly. -You need to have a running moc binary. -configure tried to run $ac_cv_path_moc and the test didn't -succeed. If configure shouldn't have tried this one, set -the environment variable MOC to the right one before running -configure. -]) -]) - -AC_DEFUN([KDE_UIC_ERROR_MESSAGE], -[ - AC_MSG_WARN([No Qt ui compiler (uic) found! -Please check whether you installed Qt correctly. -You need to have a running uic binary. -configure tried to run $ac_cv_path_uic and the test didn't -succeed. If configure shouldn't have tried this one, set -the environment variable UIC to the right one before running -configure. -]) -]) - - -AC_DEFUN([KDE_CHECK_UIC_FLAG], -[ - AC_MSG_CHECKING([whether uic supports -$1 ]) - kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'` - AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache, - [ - cat >conftest.ui <<EOT - <!DOCTYPE UI><UI version="3" stdsetdef="1"></UI> -EOT - ac_uic_testrun="$UIC_PATH -$1 $2 conftest.ui >/dev/null" - if AC_TRY_EVAL(ac_uic_testrun); then - eval "kde_cv_prog_uic_$kde_cache=yes" - else - eval "kde_cv_prog_uic_$kde_cache=no" - fi - rm -f conftest* - ]) - - if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then - AC_MSG_RESULT([yes]) - : - $3 - else - AC_MSG_RESULT([no]) - : - $4 - fi -]) - - -dnl ------------------------------------------------------------------------ -dnl Find the meta object compiler and the ui compiler in the PATH, -dnl in $QTDIR/bin, and some more usual places -dnl ------------------------------------------------------------------------ -dnl -AC_DEFUN([AC_PATH_QT_MOC_UIC], -[ - AC_REQUIRE([KDE_CHECK_PERL]) - qt_bindirs="" - for dir in $kde_qt_dirs; do - qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc" - done - qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin" - if test ! "$ac_qt_bindir" = "NO"; then - qt_bindirs="$ac_qt_bindir $qt_bindirs" - fi - - KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE]) - if test -z "$UIC_NOT_NEEDED"; then - KDE_FIND_PATH(uic, UIC_PATH, [$qt_bindirs], [UIC_PATH=""]) - if test -z "$UIC_PATH" ; then - KDE_UIC_ERROR_MESSAGE - exit 1 - else - UIC=$UIC_PATH - - if test $kde_qtver = 3; then - KDE_CHECK_UIC_FLAG(L,[/nonexistent],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no) - KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no) - - if test x$ac_uic_supports_libpath = xyes; then - UIC="$UIC -L \$(kde_widgetdir)" - fi - if test x$ac_uic_supports_nounload = xyes; then - UIC="$UIC -nounload" - fi - fi - fi - else - UIC="echo uic not available: " - fi - - AC_SUBST(MOC) - AC_SUBST(UIC) - - UIC_TR="i18n" - if test $kde_qtver = 3; then - UIC_TR="tr2i18n" - fi - - AC_SUBST(UIC_TR) -]) - -AC_DEFUN([KDE_1_CHECK_PATHS], -[ - KDE_1_CHECK_PATH_HEADERS - - KDE_TEST_RPATH= - - if test -n "$USE_RPATH"; then - - if test -n "$kde_libraries"; then - KDE_TEST_RPATH="-R $kde_libraries" - fi - - if test -n "$qt_libraries"; then - KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries" - fi - - if test -n "$x_libraries"; then - KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries" - fi - - KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH" - fi - -AC_MSG_CHECKING([for KDE libraries installed]) -ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -lkdecore $LIBQT $KDE_TEST_RPATH 1>&5' - -if AC_TRY_EVAL(ac_link) && test -s conftest; then - AC_MSG_RESULT(yes) -else - AC_MSG_ERROR([your system fails at linking a small KDE application! -Check, if your compiler is installed correctly and if you have used the -same compiler to compile Qt and kdelibs as you did use now. -For more details about this problem, look at the end of config.log.]) -fi - -if eval `KDEDIR= ./conftest 2>&5`; then - kde_result=done -else - kde_result=problems -fi - -KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log -kde_have_all_paths=yes - -KDE_SET_PATHS($kde_result) - -]) - -AC_DEFUN([KDE_SET_PATHS], -[ - kde_cv_all_paths="kde_have_all_paths=\"yes\" \ - kde_htmldir=\"$kde_htmldir\" \ - kde_appsdir=\"$kde_appsdir\" \ - kde_icondir=\"$kde_icondir\" \ - kde_sounddir=\"$kde_sounddir\" \ - kde_datadir=\"$kde_datadir\" \ - kde_locale=\"$kde_locale\" \ - kde_cgidir=\"$kde_cgidir\" \ - kde_confdir=\"$kde_confdir\" \ - kde_kcfgdir=\"$kde_kcfgdir\" \ - kde_mimedir=\"$kde_mimedir\" \ - kde_toolbardir=\"$kde_toolbardir\" \ - kde_wallpaperdir=\"$kde_wallpaperdir\" \ - kde_templatesdir=\"$kde_templatesdir\" \ - kde_bindir=\"$kde_bindir\" \ - kde_servicesdir=\"$kde_servicesdir\" \ - kde_servicetypesdir=\"$kde_servicetypesdir\" \ - kde_moduledir=\"$kde_moduledir\" \ - kde_styledir=\"$kde_styledir\" \ - kde_widgetdir=\"$kde_widgetdir\" \ - xdg_appsdir=\"$xdg_appsdir\" \ - xdg_menudir=\"$xdg_menudir\" \ - xdg_directorydir=\"$xdg_directorydir\" \ - kde_result=$1" -]) - -AC_DEFUN([KDE_SET_DEFAULT_PATHS], -[ -if test "$1" = "default"; then - - if test -z "$kde_htmldir"; then - kde_htmldir='\${datadir}/doc/HTML' - fi - if test -z "$kde_appsdir"; then - kde_appsdir='\${datadir}/applnk' - fi - if test -z "$kde_icondir"; then - kde_icondir='\${datadir}/icons' - fi - if test -z "$kde_sounddir"; then - kde_sounddir='\${datadir}/sounds' - fi - if test -z "$kde_datadir"; then - kde_datadir='\${datadir}/apps' - fi - if test -z "$kde_locale"; then - kde_locale='\${datadir}/locale' - fi - if test -z "$kde_cgidir"; then - kde_cgidir='\${exec_prefix}/cgi-bin' - fi - if test -z "$kde_confdir"; then - kde_confdir='\${datadir}/config' - fi - if test -z "$kde_kcfgdir"; then - kde_kcfgdir='\${datadir}/config.kcfg' - fi - if test -z "$kde_mimedir"; then - kde_mimedir='\${datadir}/mimelnk' - fi - if test -z "$kde_toolbardir"; then - kde_toolbardir='\${datadir}/toolbar' - fi - if test -z "$kde_wallpaperdir"; then - kde_wallpaperdir='\${datadir}/wallpapers' - fi - if test -z "$kde_templatesdir"; then - kde_templatesdir='\${datadir}/templates' - fi - if test -z "$kde_bindir"; then - kde_bindir='\${exec_prefix}/bin' - fi - if test -z "$kde_servicesdir"; then - kde_servicesdir='\${datadir}/services' - fi - if test -z "$kde_servicetypesdir"; then - kde_servicetypesdir='\${datadir}/servicetypes' - fi - if test -z "$kde_moduledir"; then - if test "$kde_qtver" = "2"; then - kde_moduledir='\${libdir}/kde2' - else - kde_moduledir='\${libdir}/kde3' - fi - fi - if test -z "$kde_styledir"; then - kde_styledir='\${libdir}/kde3/plugins/styles' - fi - if test -z "$kde_widgetdir"; then - kde_widgetdir='\${libdir}/kde3/plugins/designer' - fi - if test -z "$xdg_appsdir"; then - xdg_appsdir='\${datadir}/applications/kde' - fi - if test -z "$xdg_menudir"; then - xdg_menudir='\${sysconfdir}/xdg/menus' - fi - if test -z "$xdg_directorydir"; then - xdg_directorydir='\${datadir}/desktop-directories' - fi - - KDE_SET_PATHS(defaults) - -else - - if test $kde_qtver = 1; then - AC_MSG_RESULT([compiling]) - KDE_1_CHECK_PATHS - else - AC_MSG_ERROR([path checking not yet supported for KDE 2]) - fi - -fi -]) - -AC_DEFUN([KDE_CHECK_PATHS_FOR_COMPLETENESS], -[ if test -z "$kde_htmldir" || test -z "$kde_appsdir" || - test -z "$kde_icondir" || test -z "$kde_sounddir" || - test -z "$kde_datadir" || test -z "$kde_locale" || - test -z "$kde_cgidir" || test -z "$kde_confdir" || - test -z "$kde_kcfgdir" || - test -z "$kde_mimedir" || test -z "$kde_toolbardir" || - test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" || - test -z "$kde_bindir" || test -z "$kde_servicesdir" || - test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" || - test -z "$kde_styledir" || test -z "kde_widgetdir" || - test -z "$xdg_appsdir" || test -z "$xdg_menudir" || test -z "$xdg_directorydir" || - test "x$kde_have_all_paths" != "xyes"; then - kde_have_all_paths=no - fi -]) - -AC_DEFUN([KDE_MISSING_PROG_ERROR], -[ - AC_MSG_ERROR([The important program $1 was not found! -Please check whether you installed KDE correctly. -]) -]) - -AC_DEFUN([KDE_MISSING_ARTS_ERROR], -[ - AC_MSG_ERROR([The important program $1 was not found! -Please check whether you installed aRts correctly or use ---without-arts to compile without aRts support (this will remove functionality). -]) -]) - -AC_DEFUN([KDE_SET_DEFAULT_BINDIRS], -[ - kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin" - test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs" - if test -n "$KDEDIRS"; then - kde_save_IFS=$IFS - IFS=: - for dir in $KDEDIRS; do - kde_default_bindirs="$dir/bin $kde_default_bindirs " - done - IFS=$kde_save_IFS - fi -]) - -AC_DEFUN([KDE_SUBST_PROGRAMS], -[ - AC_ARG_WITH(arts, - AC_HELP_STRING([--without-arts],[build without aRts [default=no]]), - [build_arts=$withval], - [build_arts=yes] - ) - AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no") - if test "$build_arts" = "no"; then - AC_DEFINE(WITHOUT_ARTS, 1, [Defined if compiling without arts]) - fi - - KDE_SET_DEFAULT_BINDIRS - kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_libs_prefix/bin $kde_default_bindirs" - KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)]) - KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)]) - if test "$build_arts" '!=' "no"; then - KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)]) - KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(artsc-config)]) - fi - KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs]) - - kde32ornewer=1 - kde33ornewer=1 - if test -n "$kde_qtver" && test "$kde_qtver" -lt 3; then - kde32ornewer= - kde33ornewer= - else - if test "$kde_qtver" = "3"; then - if test "$kde_qtsubver" -le 1; then - kde32ornewer= - fi - if test "$kde_qtsubver" -le 2; then - kde33ornewer= - fi - if test "$KDECONFIG" != "compiled"; then - if test `$KDECONFIG --version | grep KDE | sed 's/KDE: \(...\).*/\1/'` = 3.2; then - kde33ornewer= - fi - fi - fi - fi - - if test -n "$kde32ornewer"; then - KDE_FIND_PATH(kconfig_compiler, KCONFIG_COMPILER, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kconfig_compiler)]) - KDE_FIND_PATH(dcopidlng, DCOPIDLNG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidlng)]) - fi - if test -n "$kde33ornewer"; then - KDE_FIND_PATH(makekdewidgets, MAKEKDEWIDGETS, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(makekdewidgets)]) - AC_SUBST(MAKEKDEWIDGETS) - fi - KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin], [XMLLINT=""]) - - if test -n "$MEINPROC" -a "$MEINPROC" != "compiled"; then - kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share" - test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs" - AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET) - if test "$KDE_XSL_STYLESHEET" = "NO"; then - KDE_XSL_STYLESHEET="" - else - KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl" - fi - fi - - DCOP_DEPENDENCIES='$(DCOPIDL)' - if test -n "$kde32ornewer"; then - KCFG_DEPENDENCIES='$(KCONFIG_COMPILER)' - DCOP_DEPENDENCIES='$(DCOPIDL) $(DCOPIDLNG)' - AC_SUBST(KCONFIG_COMPILER) - AC_SUBST(KCFG_DEPENDENCIES) - AC_SUBST(DCOPIDLNG) - fi - AC_SUBST(DCOPIDL) - AC_SUBST(DCOPIDL2CPP) - AC_SUBST(DCOP_DEPENDENCIES) - AC_SUBST(MCOPIDL) - AC_SUBST(ARTSCCONFIG) - AC_SUBST(MEINPROC) - AC_SUBST(KDE_XSL_STYLESHEET) - AC_SUBST(XMLLINT) -])dnl - -AC_DEFUN([AC_CREATE_KFSSTND], -[ -AC_REQUIRE([AC_CHECK_RPATH]) - -AC_MSG_CHECKING([for KDE paths]) -kde_result="" -kde_cached_paths=yes -AC_CACHE_VAL(kde_cv_all_paths, -[ - KDE_SET_DEFAULT_PATHS($1) - kde_cached_paths=no -]) -eval "$kde_cv_all_paths" -KDE_CHECK_PATHS_FOR_COMPLETENESS -if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then - # wrong values were cached, may be, we can set better ones - kde_result= - kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir= - kde_datadir= kde_locale= kde_cgidir= kde_confdir= kde_kcfgdir= - kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir= - kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir= - kde_have_all_paths= - kde_styledir= - kde_widgetdir= - xdg_appsdir = xdg_menudir= xdg_directorydir= - KDE_SET_DEFAULT_PATHS($1) - eval "$kde_cv_all_paths" - KDE_CHECK_PATHS_FOR_COMPLETENESS - kde_result="$kde_result (cache overridden)" -fi -if test "$kde_have_all_paths" = "no"; then - AC_MSG_ERROR([configure could not run a little KDE program to test the environment. -Since it had compiled and linked before, it must be a strange problem on your system. -Look at config.log for details. If you are not able to fix this, look at -http://www.kde.org/faq/installation.html or any www.kde.org mirror. -(If you're using an egcs version on Linux, you may update binutils!) -]) -else - rm -f conftest* - AC_MSG_RESULT($kde_result) -fi - -bindir=$kde_bindir - -KDE_SUBST_PROGRAMS - -]) - -AC_DEFUN([AC_SUBST_KFSSTND], -[ -AC_SUBST(kde_htmldir) -AC_SUBST(kde_appsdir) -AC_SUBST(kde_icondir) -AC_SUBST(kde_sounddir) -AC_SUBST(kde_datadir) -AC_SUBST(kde_locale) -AC_SUBST(kde_confdir) -AC_SUBST(kde_kcfgdir) -AC_SUBST(kde_mimedir) -AC_SUBST(kde_wallpaperdir) -AC_SUBST(kde_bindir) -dnl X Desktop Group standards -AC_SUBST(xdg_appsdir) -AC_SUBST(xdg_menudir) -AC_SUBST(xdg_directorydir) -dnl for KDE 2 -AC_SUBST(kde_templatesdir) -AC_SUBST(kde_servicesdir) -AC_SUBST(kde_servicetypesdir) -AC_SUBST(kde_moduledir) -AC_SUBST(kdeinitdir, '$(kde_moduledir)') -AC_SUBST(kde_styledir) -AC_SUBST(kde_widgetdir) -if test "$kde_qtver" = 1; then - kde_minidir="$kde_icondir/mini" -else -# for KDE 1 - this breaks KDE2 apps using minidir, but -# that's the plan ;-/ - kde_minidir="/dev/null" -fi -dnl AC_SUBST(kde_minidir) -dnl AC_SUBST(kde_cgidir) -dnl AC_SUBST(kde_toolbardir) -]) - -AC_DEFUN([KDE_MISC_TESTS], -[ - dnl Checks for libraries. - AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD - AC_SUBST(LIBUTIL) - AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD - AC_SUBST(LIBCOMPAT) - kde_have_crypt= - AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes], - AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [ - AC_MSG_WARN([you have no crypt in either libcrypt or libc. -You should install libcrypt from another source or configure with PAM -support]) - kde_have_crypt=no - ])) - AC_SUBST(LIBCRYPT) - if test $kde_have_crypt = yes; then - AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function]) - fi - AC_CHECK_SOCKLEN_T - AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"]) - if test $ac_cv_lib_dnet_dnet_ntoa = no; then - AC_CHECK_LIB(dnet_stub, dnet_ntoa, - [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"]) - fi - AC_CHECK_FUNC(inet_ntoa) - if test $ac_cv_func_inet_ntoa = no; then - AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl") - fi - AC_CHECK_FUNC(connect) - if test $ac_cv_func_connect = no; then - AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", , - $X_EXTRA_LIBS) - fi - - AC_CHECK_FUNC(remove) - if test $ac_cv_func_remove = no; then - AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix") - fi - - # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. - AC_CHECK_FUNC(shmat, , - AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc")) - - # more headers that need to be explicitly included on darwin - AC_CHECK_HEADERS(sys/types.h stdint.h) - - # sys/bitypes.h is needed for uint32_t and friends on Tru64 - AC_CHECK_HEADERS(sys/bitypes.h) - - # darwin requires a poll emulation library - AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll") - - # for some image handling on Mac OS X - AC_CHECK_HEADERS(Carbon/Carbon.h) - - # CoreAudio framework - AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [ - AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API]) - FRAMEWORK_COREAUDIO="-Xlinker -framework -Xlinker CoreAudio" - ]) - - AC_CHECK_RES_INIT - AC_SUBST(LIB_POLL) - AC_SUBST(FRAMEWORK_COREAUDIO) - LIBSOCKET="$X_EXTRA_LIBS" - AC_SUBST(LIBSOCKET) - AC_SUBST(X_EXTRA_LIBS) - AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4 - AC_SUBST(LIBUCB) - - case $host in dnl this *is* LynxOS specific - *-*-lynxos* ) - AC_MSG_CHECKING([LynxOS header file wrappers]) - [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"] - AC_MSG_RESULT(disabled) - AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS - ;; - esac - - KDE_CHECK_TYPES - KDE_CHECK_LIBDL - KDE_CHECK_STRLCPY - KDE_CHECK_PIE_SUPPORT - -# darwin needs this to initialize the environment -AC_CHECK_HEADERS(crt_externs.h) -AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])]) - -AH_VERBATIM(_DARWIN_ENVIRON, -[ -#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H) -# include <sys/time.h> -# include <crt_externs.h> -# define environ (*_NSGetEnviron()) -#endif -]) - -AH_VERBATIM(_AIX_STRINGS_H_BZERO, -[ -/* - * AIX defines FD_SET in terms of bzero, but fails to include <strings.h> - * that defines bzero. - */ - -#if defined(_AIX) -#include <strings.h> -#endif -]) - -AC_CHECK_FUNCS([vsnprintf snprintf]) - -AH_VERBATIM(_TRU64,[ -/* - * On HP-UX, the declaration of vsnprintf() is needed every time ! - */ - -#if !defined(HAVE_VSNPRINTF) || defined(hpux) -#if __STDC__ -#include <stdarg.h> -#include <stdlib.h> -#else -#include <varargs.h> -#endif -#ifdef __cplusplus -extern "C" -#endif -int vsnprintf(char *str, size_t n, char const *fmt, va_list ap); -#ifdef __cplusplus -extern "C" -#endif -int snprintf(char *str, size_t n, char const *fmt, ...); -#endif -]) - -]) - -dnl ------------------------------------------------------------------------ -dnl Find the header files and libraries for X-Windows. Extended the -dnl macro AC_PATH_X -dnl ------------------------------------------------------------------------ -dnl -AC_DEFUN([K_PATH_X], -[ -AC_REQUIRE([KDE_MISC_TESTS])dnl -AC_REQUIRE([KDE_CHECK_LIB64]) - -AC_ARG_ENABLE( - embedded, - AC_HELP_STRING([--enable-embedded],[link to Qt-embedded, don't use X]), - kde_use_qt_emb=$enableval, - kde_use_qt_emb=no -) - -AC_ARG_ENABLE( - qtopia, - AC_HELP_STRING([--enable-qtopia],[link to Qt-embedded, link to the Qtopia Environment]), - kde_use_qt_emb_palm=$enableval, - kde_use_qt_emb_palm=no -) - -AC_ARG_ENABLE( - mac, - AC_HELP_STRING([--enable-mac],[link to Qt/Mac (don't use X)]), - kde_use_qt_mac=$enableval, - kde_use_qt_mac=no -) - -# used to disable x11-specific stuff on special platforms -AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no") - -if test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no"; then - -AC_MSG_CHECKING(for X) - -AC_CACHE_VAL(kde_cv_have_x, -[# One or both of the vars are not set, and there is no cached value. -if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then - kde_x_includes=NO -else - kde_x_includes=$x_includes -fi -if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then - kde_x_libraries=NO -else - kde_x_libraries=$x_libraries -fi - -# below we use the standard autoconf calls -ac_x_libraries=$kde_x_libraries -ac_x_includes=$kde_x_includes - -KDE_PATH_X_DIRECT -dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries. -dnl Unfortunately, if compiling with the N32 ABI, this is not the correct -dnl location. The correct location is /usr/lib32 or an undefined value -dnl (the linker is smart enough to pick the correct default library). -dnl Things work just fine if you use just AC_PATH_X_DIRECT. -dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to -dnl /usr/openwin/include, which doesn't work. /usr/include does work, so -dnl x_includes should be left alone. -case "$host" in -mips-sgi-irix6*) - ;; -*-*-solaris*) - ;; -*) - _AC_PATH_X_XMKMF - if test -z "$ac_x_includes"; then - ac_x_includes="." - fi - if test -z "$ac_x_libraries"; then - ac_x_libraries="/usr/lib${kdelibsuff}" - fi -esac -#from now on we use our own again - -# when the user already gave --x-includes, we ignore -# what the standard autoconf macros told us. -if test "$kde_x_includes" = NO; then - kde_x_includes=$ac_x_includes -fi - -# for --x-libraries too -if test "$kde_x_libraries" = NO; then - kde_x_libraries=$ac_x_libraries -fi - -if test "$kde_x_includes" = NO; then - AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!]) -fi - -if test "$kde_x_libraries" = NO; then - AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!]) -fi - -# Record where we found X for the cache. -kde_cv_have_x="have_x=yes \ - kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries" -])dnl - -eval "$kde_cv_have_x" - -if test "$have_x" != yes; then - AC_MSG_RESULT($have_x) - no_x=yes -else - AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes]) -fi - -if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then - X_INCLUDES="" - x_includes="."; dnl better than nothing :- - else - x_includes=$kde_x_includes - X_INCLUDES="-I$x_includes" -fi - -if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then - X_LDFLAGS="" - x_libraries="/usr/lib"; dnl better than nothing :- - else - x_libraries=$kde_x_libraries - X_LDFLAGS="-L$x_libraries" -fi -all_includes="$X_INCLUDES" -all_libraries="$X_LDFLAGS $LDFLAGS_AS_NEEDED $LDFLAGS_NEW_DTAGS" - -# Check for libraries that X11R6 Xt/Xaw programs need. -ac_save_LDFLAGS="$LDFLAGS" -LDFLAGS="$LDFLAGS $X_LDFLAGS" -# SM needs ICE to (dynamically) link under SunOS 4.x (so we have to -# check for ICE first), but we must link in the order -lSM -lICE or -# we get undefined symbols. So assume we have SM if we have ICE. -# These have to be linked with before -lX11, unlike the other -# libraries we check for below, so use a different variable. -# --interran@uluru.Stanford.EDU, kb@cs.umb.edu. -AC_CHECK_LIB(ICE, IceConnectionNumber, - [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS) -LDFLAGS="$ac_save_LDFLAGS" - -LIB_X11='-lX11 $(LIBSOCKET)' - -AC_MSG_CHECKING(for libXext) -AC_CACHE_VAL(kde_cv_have_libXext, -[ -kde_ldflags_safe="$LDFLAGS" -kde_libs_safe="$LIBS" - -LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS" -LIBS="-lXext -lX11 $LIBSOCKET" - -AC_TRY_LINK([ -#include <stdio.h> -#ifdef STDC_HEADERS -# include <stdlib.h> -#endif -], -[ -printf("hello Xext\n"); -], -kde_cv_have_libXext=yes, -kde_cv_have_libXext=no -) - -LDFLAGS=$kde_ldflags_safe -LIBS=$kde_libs_safe -]) - -AC_MSG_RESULT($kde_cv_have_libXext) - -if test "$kde_cv_have_libXext" = "no"; then - AC_MSG_ERROR([We need a working libXext to proceed. Since configure -can't find it itself, we stop here assuming that make wouldn't find -them either.]) -fi - -LIB_XEXT="-lXext" -QTE_NORTTI="" - -elif test "$kde_use_qt_emb" = "yes"; then - dnl We're using QT Embedded - CPPFLAGS=-DQWS - CXXFLAGS="$CXXFLAGS -fno-rtti" - QTE_NORTTI="-fno-rtti -DQWS" - X_PRE_LIBS="" - LIB_X11="" - LIB_XEXT="" - LIB_XRENDER="" - LIBSM="" - X_INCLUDES="" - X_LDFLAGS="" - x_includes="" - x_libraries="" -elif test "$kde_use_qt_mac" = "yes"; then - dnl We're using QT/Mac (I use QT_MAC so that qglobal.h doesn't *have* to - dnl be included to get the information) --Sam - CXXFLAGS="$CXXFLAGS -DQT_MAC -no-cpp-precomp" - CFLAGS="$CFLAGS -DQT_MAC -no-cpp-precomp" - X_PRE_LIBS="" - LIB_X11="" - LIB_XEXT="" - LIB_XRENDER="" - LIBSM="" - X_INCLUDES="" - X_LDFLAGS="" - x_includes="" - x_libraries="" -fi -AC_SUBST(X_PRE_LIBS) -AC_SUBST(LIB_X11) -AC_SUBST(LIB_XRENDER) -AC_SUBST(LIBSM) -AC_SUBST(X_INCLUDES) -AC_SUBST(X_LDFLAGS) -AC_SUBST(x_includes) -AC_SUBST(x_libraries) -AC_SUBST(QTE_NORTTI) -AC_SUBST(LIB_XEXT) - -]) - -AC_DEFUN([KDE_PRINT_QT_PROGRAM], -[ -AC_REQUIRE([KDE_USE_QT]) -cat > conftest.$ac_ext <<EOF -#include "confdefs.h" -#include <qglobal.h> -#include <qapplication.h> -EOF -if test "$kde_qtver" = "2"; then -cat >> conftest.$ac_ext <<EOF -#include <qevent.h> -#include <qstring.h> -#include <qstyle.h> -EOF - -if test $kde_qtsubver -gt 0; then -cat >> conftest.$ac_ext <<EOF -#if QT_VERSION < 210 -#error 1 -#endif -EOF -fi -fi - -if test "$kde_qtver" = "3"; then -cat >> conftest.$ac_ext <<EOF -#include <qcursor.h> -#include <qstylefactory.h> -#include <private/qucomextra_p.h> -EOF -fi - -echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext -cat >> conftest.$ac_ext <<EOF -#error 1 -#endif - -int main() { -EOF -if test "$kde_qtver" = "2"; then -cat >> conftest.$ac_ext <<EOF - QStringList *t = new QStringList(); - Q_UNUSED(t); -EOF -if test $kde_qtsubver -gt 0; then -cat >> conftest.$ac_ext <<EOF - QString s; - s.setLatin1("Elvis is alive", 14); -EOF -fi -fi -if test "$kde_qtver" = "3"; then -cat >> conftest.$ac_ext <<EOF - (void)QStyleFactory::create(QString::null); - QCursor c(Qt::WhatsThisCursor); -EOF -fi -cat >> conftest.$ac_ext <<EOF - return 0; -} -EOF -]) - -AC_DEFUN([KDE_USE_QT], -[ -if test -z "$1"; then - # Current default Qt version: 3.3 - kde_qtver=3 - kde_qtsubver=3 -else - kde_qtsubver=`echo "$1" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'` - # following is the check if subversion isnt found in passed argument - if test "$kde_qtsubver" = "$1"; then - kde_qtsubver=1 - fi - kde_qtver=`echo "$1" | sed -e 's#^\([0-9][0-9]*\)\..*#\1#'` - if test "$kde_qtver" = "1"; then - kde_qtsubver=42 - fi -fi - -if test -z "$2"; then - if test "$kde_qtver" = "2"; then - if test $kde_qtsubver -gt 0; then - kde_qt_minversion=">= Qt 2.2.2" - else - kde_qt_minversion=">= Qt 2.0.2" - fi - fi - if test "$kde_qtver" = "3"; then - if test $kde_qtsubver -gt 0; then - if test $kde_qtsubver -gt 1; then - if test $kde_qtsubver -gt 2; then - kde_qt_minversion=">= Qt 3.3 and < 4.0" - else - kde_qt_minversion=">= Qt 3.2 and < 4.0" - fi - else - kde_qt_minversion=">= Qt 3.1 (20021021) and < 4.0" - fi - else - kde_qt_minversion=">= Qt 3.0 and < 4.0" - fi - fi - if test "$kde_qtver" = "1"; then - kde_qt_minversion=">= 1.42 and < 2.0" - fi -else - kde_qt_minversion="$2" -fi - -if test -z "$3"; then - if test $kde_qtver = 3; then - if test $kde_qtsubver -gt 0; then - kde_qt_verstring="QT_VERSION >= 0x03@VER@00 && QT_VERSION < 0x040000" - qtsubver=`echo "00$kde_qtsubver" | sed -e 's,.*\(..\)$,\1,'` - kde_qt_verstring=`echo $kde_qt_verstring | sed -e "s,@VER@,$qtsubver,"` - else - kde_qt_verstring="QT_VERSION >= 300 && QT_VERSION < 0x040000" - fi - fi - if test $kde_qtver = 2; then - if test $kde_qtsubver -gt 0; then - kde_qt_verstring="QT_VERSION >= 222" - else - kde_qt_verstring="QT_VERSION >= 200" - fi - fi - if test $kde_qtver = 1; then - kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200" - fi -else - kde_qt_verstring="$3" -fi - -if test $kde_qtver = 4; then - kde_qt_dirs="$QTDIR /usr/lib/qt4 /usr/lib/qt /usr/share/qt4" -fi -if test $kde_qtver = 3; then - kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3" -fi -if test $kde_qtver = 2; then - kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt" -fi -if test $kde_qtver = 1; then - kde_qt_dirs="$QTDIR /usr/lib/qt" -fi -]) - -AC_DEFUN([KDE_CHECK_QT_DIRECT], -[ -AC_REQUIRE([KDE_USE_QT]) -AC_MSG_CHECKING([if Qt compiles without flags]) -AC_CACHE_VAL(kde_cv_qt_direct, -[ -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH -ac_LIBRARY_PATH="$LIBRARY_PATH" -ac_cxxflags_safe="$CXXFLAGS" -ac_ldflags_safe="$LDFLAGS" -ac_libs_safe="$LIBS" - -CXXFLAGS="$CXXFLAGS -I$qt_includes" -LDFLAGS="$LDFLAGS $X_LDFLAGS" -if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then -LIBS="$LIBQT -lXext -lX11 $LIBSOCKET" -else -LIBS="$LIBQT $LIBSOCKET" -fi -LD_LIBRARY_PATH= -export LD_LIBRARY_PATH -LIBRARY_PATH= -export LIBRARY_PATH - -KDE_PRINT_QT_PROGRAM - -if AC_TRY_EVAL(ac_link) && test -s conftest; then - kde_cv_qt_direct="yes" -else - kde_cv_qt_direct="no" - echo "configure: failed program was:" >&AC_FD_CC - cat conftest.$ac_ext >&AC_FD_CC -fi - -rm -f conftest* -CXXFLAGS="$ac_cxxflags_safe" -LDFLAGS="$ac_ldflags_safe" -LIBS="$ac_libs_safe" - -LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe" -export LD_LIBRARY_PATH -LIBRARY_PATH="$ac_LIBRARY_PATH" -export LIBRARY_PATH -AC_LANG_RESTORE -]) - -if test "$kde_cv_qt_direct" = "yes"; then - AC_MSG_RESULT(yes) - $1 -else - AC_MSG_RESULT(no) - $2 -fi -]) - -dnl ------------------------------------------------------------------------ -dnl Try to find the Qt headers and libraries. -dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed) -dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed) -dnl ------------------------------------------------------------------------ -dnl -AC_DEFUN([AC_PATH_QT_1_3], -[ -AC_REQUIRE([K_PATH_X]) -AC_REQUIRE([KDE_USE_QT]) -AC_REQUIRE([KDE_CHECK_LIB64]) - -dnl ------------------------------------------------------------------------ -dnl Add configure flag to enable linking to MT version of Qt library. -dnl ------------------------------------------------------------------------ - -AC_ARG_ENABLE( - mt, - AC_HELP_STRING([--disable-mt],[link to non-threaded Qt (deprecated)]), - kde_use_qt_mt=$enableval, - [ - if test $kde_qtver = 3; then - kde_use_qt_mt=yes - else - kde_use_qt_mt=no - fi - ] -) - -USING_QT_MT="" - -dnl ------------------------------------------------------------------------ -dnl If we not get --disable-qt-mt then adjust some vars for the host. -dnl ------------------------------------------------------------------------ - -KDE_MT_LDFLAGS= -KDE_MT_LIBS= -if test "x$kde_use_qt_mt" = "xyes"; then - KDE_CHECK_THREADING - if test "x$kde_use_threading" = "xyes"; then - CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS" - KDE_MT_LDFLAGS="$USE_THREADS" - KDE_MT_LIBS="$LIBPTHREAD" - else - kde_use_qt_mt=no - fi -fi -AC_SUBST(KDE_MT_LDFLAGS) -AC_SUBST(KDE_MT_LIBS) - -kde_qt_was_given=yes - -dnl ------------------------------------------------------------------------ -dnl If we haven't been told how to link to Qt, we work it out for ourselves. -dnl ------------------------------------------------------------------------ -if test -z "$LIBQT_GLOB"; then - if test "x$kde_use_qt_emb" = "xyes"; then - LIBQT_GLOB="libqte.*" - else - LIBQT_GLOB="libqt.*" - fi -fi - -dnl ------------------------------------------------------------ -dnl If we got --enable-embedded then adjust the Qt library name. -dnl ------------------------------------------------------------ -if test "x$kde_use_qt_emb" = "xyes"; then - qtlib="qte" -else - qtlib="qt" -fi - -kde_int_qt="-l$qtlib" - -if test -z "$LIBQPE"; then -dnl ------------------------------------------------------------ -dnl If we got --enable-palmtop then add -lqpe to the link line -dnl ------------------------------------------------------------ - if test "x$kde_use_qt_emb" = "xyes"; then - if test "x$kde_use_qt_emb_palm" = "xyes"; then - LIB_QPE="-lqpe" - else - LIB_QPE="" - fi - else - LIB_QPE="" - fi -fi - -dnl ------------------------------------------------------------------------ -dnl If we got --enable-qt-mt then adjust the Qt library name for the host. -dnl ------------------------------------------------------------------------ - -if test "x$kde_use_qt_mt" = "xyes"; then - LIBQT="-l$qtlib-mt" - kde_int_qt="-l$qtlib-mt" - LIBQT_GLOB="lib$qtlib-mt.*" - USING_QT_MT="using -mt" -else - LIBQT="-l$qtlib" -fi - -if test $kde_qtver != 1; then - - AC_REQUIRE([AC_FIND_PNG]) - AC_REQUIRE([AC_FIND_JPEG]) - LIBQT="$LIBQT $LIBPNG $LIBJPEG" -fi - -if test $kde_qtver = 3; then - AC_REQUIRE([KDE_CHECK_LIBDL]) - LIBQT="$LIBQT $LIBDL" -fi - -AC_MSG_CHECKING([for Qt]) - -if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then -LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET" -fi -ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO -qt_libraries="" -qt_includes="" -AC_ARG_WITH(qt-dir, - AC_HELP_STRING([--with-qt-dir=DIR],[where the root of Qt is installed ]), - [ ac_qt_includes="$withval"/include - ac_qt_libraries="$withval"/lib${kdelibsuff} - ac_qt_bindir="$withval"/bin - ]) - -AC_ARG_WITH(qt-includes, - AC_HELP_STRING([--with-qt-includes=DIR],[where the Qt includes are. ]), - [ - ac_qt_includes="$withval" - ]) - -kde_qt_libs_given=no - -AC_ARG_WITH(qt-libraries, - AC_HELP_STRING([--with-qt-libraries=DIR],[where the Qt library is installed.]), - [ ac_qt_libraries="$withval" - kde_qt_libs_given=yes - ]) - -AC_CACHE_VAL(ac_cv_have_qt, -[#try to guess Qt locations - -qt_incdirs="" -for dir in $kde_qt_dirs; do - qt_incdirs="$qt_incdirs $dir/include $dir" -done -qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/X11R6/include/qt2 /usr/include/qt3 $x_includes" -if test ! "$ac_qt_includes" = "NO"; then - qt_incdirs="$ac_qt_includes $qt_incdirs" -fi - -if test "$kde_qtver" != "1"; then - kde_qt_header=qstyle.h -else - kde_qt_header=qglobal.h -fi - -AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir) -ac_qt_includes="$qt_incdir" - -qt_libdirs="" -for dir in $kde_qt_dirs; do - qt_libdirs="$qt_libdirs $dir/lib${kdelibsuff} $dir" -done -qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries" -if test ! "$ac_qt_libraries" = "NO"; then - qt_libdir=$ac_qt_libraries -else - qt_libdirs="$ac_qt_libraries $qt_libdirs" - # if the Qt was given, the chance is too big that libqt.* doesn't exist - qt_libdir=NONE - for dir in $qt_libdirs; do - try="ls -1 $dir/${LIBQT_GLOB}" - if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi - done -fi -for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do - if test -e "$a"; then - LIBQT="$LIBQT ${kde_int_qt}_incremental" - break - fi -done - -ac_qt_libraries="$qt_libdir" - -AC_LANG_SAVE -AC_LANG_CPLUSPLUS - -ac_cxxflags_safe="$CXXFLAGS" -ac_ldflags_safe="$LDFLAGS" -ac_libs_safe="$LIBS" - -CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes" -LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS" -LIBS="$LIBS $LIBQT $KDE_MT_LIBS" - -KDE_PRINT_QT_PROGRAM - -if AC_TRY_EVAL(ac_link) && test -s conftest; then - rm -f conftest* -else - echo "configure: failed program was:" >&AC_FD_CC - cat conftest.$ac_ext >&AC_FD_CC - ac_qt_libraries="NO" -fi -rm -f conftest* -CXXFLAGS="$ac_cxxflags_safe" -LDFLAGS="$ac_ldflags_safe" -LIBS="$ac_libs_safe" - -AC_LANG_RESTORE -if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then - ac_cv_have_qt="have_qt=no" - ac_qt_notfound="" - missing_qt_mt="" - if test "$ac_qt_includes" = NO; then - if test "$ac_qt_libraries" = NO; then - ac_qt_notfound="(headers and libraries)"; - else - ac_qt_notfound="(headers)"; - fi - else - if test "x$kde_use_qt_mt" = "xyes"; then - missing_qt_mt=" -Make sure that you have compiled Qt with thread support!" - ac_qt_notfound="(library $qtlib-mt)"; - else - ac_qt_notfound="(library $qtlib)"; - fi - fi - - AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation! -For more details about this problem, look at the end of config.log.$missing_qt_mt]) -else - have_qt="yes" -fi -]) - -eval "$ac_cv_have_qt" - -if test "$have_qt" != yes; then - AC_MSG_RESULT([$have_qt]); -else - ac_cv_have_qt="have_qt=yes \ - ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries" - AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT]) - - qt_libraries="$ac_qt_libraries" - qt_includes="$ac_qt_includes" -fi - -if test ! "$kde_qt_libs_given" = "yes" && test ! "$kde_qtver" = 3; then - KDE_CHECK_QT_DIRECT(qt_libraries= ,[]) -fi - -AC_SUBST(qt_libraries) -AC_SUBST(qt_includes) - -if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then - QT_INCLUDES="" -else - QT_INCLUDES="-I$qt_includes" - all_includes="$QT_INCLUDES $all_includes" -fi - -if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then - QT_LDFLAGS="" -else - QT_LDFLAGS="-L$qt_libraries" - all_libraries="$QT_LDFLAGS $all_libraries" -fi -test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS" - -AC_SUBST(QT_INCLUDES) -AC_SUBST(QT_LDFLAGS) -AC_PATH_QT_MOC_UIC - -KDE_CHECK_QT_JPEG - -if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then -LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG) -lXext $(LIB_X11) $(LIBSM)' -else -LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG)' -fi -test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS" -for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do - if test -e "$a"; then - LIB_QT="$LIB_QT ${kde_int_qt}_incremental" - break - fi -done - -AC_SUBST(LIB_QT) -AC_SUBST(LIB_QPE) - -AC_SUBST(kde_qtver) -]) - -AC_DEFUN([AC_PATH_QT], -[ -AC_PATH_QT_1_3 -]) - -AC_DEFUN([KDE_CHECK_UIC_PLUGINS], -[ -AC_REQUIRE([AC_PATH_QT_MOC_UIC]) - -if test x$ac_uic_supports_libpath = xyes; then - -AC_MSG_CHECKING([if UIC has KDE plugins available]) -AC_CACHE_VAL(kde_cv_uic_plugins, -[ -cat > actest.ui << EOF -<!DOCTYPE UI><UI version="3.0" stdsetdef="1"> -<class>NewConnectionDialog</class> -<widget class="QDialog"> - <widget class="KLineEdit"> - <property name="name"> - <cstring>testInput</cstring> - </property> - </widget> -</widget> -</UI> -EOF - - - -kde_cv_uic_plugins=no -kde_line="$UIC_PATH -L $kde_widgetdir" -if test x$ac_uic_supports_nounload = xyes; then - kde_line="$kde_line -nounload" -fi -kde_line="$kde_line -impl actest.h actest.ui > actest.cpp" -if AC_TRY_EVAL(kde_line); then - # if you're trying to debug this check and think it's incorrect, - # better check your installation. The check _is_ correct - your - # installation is not. - if test -f actest.cpp && grep klineedit actest.cpp > /dev/null; then - kde_cv_uic_plugins=yes - fi -fi -rm -f actest.ui actest.cpp -]) - -AC_MSG_RESULT([$kde_cv_uic_plugins]) -if test "$kde_cv_uic_plugins" != yes; then - AC_MSG_ERROR([ -you need to install kdelibs first. - -If you did install kdelibs, then the Qt version that is picked up by -this configure is not the same version you used to compile kdelibs. -The Qt Plugin installed by kdelibs is *ONLY* loadable if it is the -_same Qt version_, compiled with the _same compiler_ and the same Qt -configuration settings. -]) -fi -fi -]) - -AC_DEFUN([KDE_CHECK_FINAL], -[ - AC_ARG_ENABLE(final, - AC_HELP_STRING([--enable-final], - [build size optimized apps (experimental - needs lots of memory)]), - kde_use_final=$enableval, kde_use_final=no) - - if test "x$kde_use_final" = "xyes"; then - KDE_USE_FINAL_TRUE="" - KDE_USE_FINAL_FALSE="#" - else - KDE_USE_FINAL_TRUE="#" - KDE_USE_FINAL_FALSE="" - fi - AC_SUBST(KDE_USE_FINAL_TRUE) - AC_SUBST(KDE_USE_FINAL_FALSE) -]) - -AC_DEFUN([KDE_CHECK_CLOSURE], -[ - AC_ARG_ENABLE(closure, - AC_HELP_STRING([--enable-closure],[delay template instantiation]), - kde_use_closure=$enableval, kde_use_closure=no) - - KDE_NO_UNDEFINED="" - if test "x$kde_use_closure" = "xyes"; then - KDE_USE_CLOSURE_TRUE="" - KDE_USE_CLOSURE_FALSE="#" -# CXXFLAGS="$CXXFLAGS $REPO" - else - KDE_USE_CLOSURE_TRUE="#" - KDE_USE_CLOSURE_FALSE="" - KDE_NO_UNDEFINED="" - case $host in - *-*-linux-gnu) - KDE_CHECK_COMPILER_FLAG([Wl,--no-undefined], - [KDE_CHECK_COMPILER_FLAG([Wl,--allow-shlib-undefined], - [KDE_NO_UNDEFINED="-Wl,--no-undefined -Wl,--allow-shlib-undefined"], - [KDE_NO_UNDEFINED=""])], - [KDE_NO_UNDEFINED=""]) - ;; - esac - fi - AC_SUBST(KDE_USE_CLOSURE_TRUE) - AC_SUBST(KDE_USE_CLOSURE_FALSE) - AC_SUBST(KDE_NO_UNDEFINED) -]) - -dnl Check if the linker supports --enable-new-dtags and --as-needed -AC_DEFUN([KDE_CHECK_NEW_LDFLAGS], -[ - AC_ARG_ENABLE(new_ldflags, - AC_HELP_STRING([--enable-new-ldflags], - [enable the new linker flags]), - kde_use_new_ldflags=$enableval, - kde_use_new_ldflags=no) - - LDFLAGS_AS_NEEDED="" - LDFLAGS_NEW_DTAGS="" - if test "x$kde_use_new_ldflags" = "xyes"; then - LDFLAGS_NEW_DTAGS="" - KDE_CHECK_COMPILER_FLAG([Wl,--enable-new-dtags], - [LDFLAGS_NEW_DTAGS="-Wl,--enable-new-dtags"],) - - KDE_CHECK_COMPILER_FLAG([Wl,--as-needed], - [LDFLAGS_AS_NEEDED="-Wl,--as-needed"],) - fi - AC_SUBST(LDFLAGS_AS_NEEDED) - AC_SUBST(LDFLAGS_NEW_DTAGS) -]) - -AC_DEFUN([KDE_CHECK_NMCHECK], -[ - AC_ARG_ENABLE(nmcheck,AC_HELP_STRING([--enable-nmcheck],[enable automatic namespace cleanness check]), - kde_use_nmcheck=$enableval, kde_use_nmcheck=no) - - if test "$kde_use_nmcheck" = "yes"; then - KDE_USE_NMCHECK_TRUE="" - KDE_USE_NMCHECK_FALSE="#" - else - KDE_USE_NMCHECK_TRUE="#" - KDE_USE_NMCHECK_FALSE="" - fi - AC_SUBST(KDE_USE_NMCHECK_TRUE) - AC_SUBST(KDE_USE_NMCHECK_FALSE) -]) - -AC_DEFUN([KDE_EXPAND_MAKEVAR], [ -savex=$exec_prefix -test "x$exec_prefix" = xNONE && exec_prefix=$prefix -tmp=$$2 -while $1=`eval echo "$tmp"`; test "x$$1" != "x$tmp"; do tmp=$$1; done -exec_prefix=$savex -]) - -dnl ------------------------------------------------------------------------ -dnl Now, the same with KDE -dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed) -dnl and $(kde_includes) will be the kdehdrlocation (if needed) -dnl ------------------------------------------------------------------------ -dnl -AC_DEFUN([AC_BASE_PATH_KDE], -[ -AC_REQUIRE([KDE_CHECK_STL]) -AC_REQUIRE([AC_PATH_QT])dnl -AC_REQUIRE([KDE_CHECK_LIB64]) - -AC_CHECK_RPATH -AC_MSG_CHECKING([for KDE]) - -if test "${prefix}" != NONE; then - kde_includes=${includedir} - KDE_EXPAND_MAKEVAR(ac_kde_includes, includedir) - - kde_libraries=${libdir} - KDE_EXPAND_MAKEVAR(ac_kde_libraries, libdir) - -else - ac_kde_includes= - ac_kde_libraries= - kde_libraries="" - kde_includes="" -fi - -AC_CACHE_VAL(ac_cv_have_kde, -[#try to guess kde locations - -if test "$kde_qtver" = 1; then - kde_check_header="ksock.h" - kde_check_lib="libkdecore.la" -else - kde_check_header="ksharedptr.h" - kde_check_lib="libkio.la" -fi - -if test -z "$1"; then - -kde_incdirs="$kde_libs_prefix/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes" -test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs" -kde_incdirs="$ac_kde_includes $kde_incdirs" -AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir) -ac_kde_includes="$kde_incdir" - -if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then - AC_MSG_ERROR([ -in the prefix, you've chosen, are no KDE headers installed. This will fail. -So, check this please and use another prefix!]) -fi - -kde_libdirs="$kde_libs_prefix/lib${kdelibsuff} /usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}" -test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs" -kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs" -AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir) -ac_kde_libraries="$kde_libdir" - -kde_widgetdir=NO -dnl this might be somewhere else -AC_FIND_FILE("kde3/plugins/designer/kdewidgets.la", $kde_libdirs, kde_widgetdir) - -if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then -AC_MSG_ERROR([ -in the prefix, you've chosen, are no KDE libraries installed. This will fail. -So, check this please and use another prefix!]) -fi - -if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/kde3/plugins/designer/kdewidgets.la"; then -AC_MSG_ERROR([ -I can't find the designer plugins. These are required and should have been installed -by kdelibs]) -fi - -if test -n "$kde_widgetdir"; then - kde_widgetdir="$kde_widgetdir/kde3/plugins/designer" -fi - - -if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO || test "$kde_widgetdir" = NO; then - ac_cv_have_kde="have_kde=no" -else - ac_cv_have_kde="have_kde=yes \ - ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" -fi - -else dnl test -z $1, e.g. from kdelibs - - ac_cv_have_kde="have_kde=no" - -fi -])dnl - -eval "$ac_cv_have_kde" - -if test "$have_kde" != "yes"; then - if test "${prefix}" = NONE; then - ac_kde_prefix="$ac_default_prefix" - else - ac_kde_prefix="$prefix" - fi - if test "$exec_prefix" = NONE; then - ac_kde_exec_prefix="$ac_kde_prefix" - AC_MSG_RESULT([will be installed in $ac_kde_prefix]) - else - ac_kde_exec_prefix="$exec_prefix" - AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix]) - fi - - kde_libraries="${libdir}" - kde_includes="${includedir}" - -else - ac_cv_have_kde="have_kde=yes \ - ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" - AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes]) - - kde_libraries="$ac_kde_libraries" - kde_includes="$ac_kde_includes" -fi -AC_SUBST(kde_libraries) -AC_SUBST(kde_includes) - -if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" || test "$kde_includes" = "/usr/include"; then - KDE_INCLUDES="" -else - KDE_INCLUDES="-I$kde_includes" - all_includes="$KDE_INCLUDES $all_includes" -fi - -KDE_DEFAULT_CXXFLAGS="-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION" - -KDE_LDFLAGS="-L$kde_libraries" -if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then - all_libraries="$KDE_LDFLAGS $all_libraries" -fi - -AC_SUBST(KDE_LDFLAGS) -AC_SUBST(KDE_INCLUDES) - -AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) - -all_libraries="$all_libraries $USER_LDFLAGS" -all_includes="$all_includes $USER_INCLUDES" -AC_SUBST(all_includes) -AC_SUBST(all_libraries) - -if test -z "$1"; then -KDE_CHECK_UIC_PLUGINS -fi - -ac_kde_libraries="$kde_libdir" - -AC_SUBST(AUTODIRS) - - -]) - -AC_DEFUN([KDE_CHECK_EXTRA_LIBS], -[ -AC_MSG_CHECKING(for extra includes) -AC_ARG_WITH(extra-includes,AC_HELP_STRING([--with-extra-includes=DIR],[adds non standard include paths]), - kde_use_extra_includes="$withval", - kde_use_extra_includes=NONE -) -kde_extra_includes= -if test -n "$kde_use_extra_includes" && \ - test "$kde_use_extra_includes" != "NONE"; then - - ac_save_ifs=$IFS - IFS=':' - for dir in $kde_use_extra_includes; do - kde_extra_includes="$kde_extra_includes $dir" - USER_INCLUDES="$USER_INCLUDES -I$dir" - done - IFS=$ac_save_ifs - kde_use_extra_includes="added" -else - kde_use_extra_includes="no" -fi -AC_SUBST(USER_INCLUDES) - -AC_MSG_RESULT($kde_use_extra_includes) - -kde_extra_libs= -AC_MSG_CHECKING(for extra libs) -AC_ARG_WITH(extra-libs,AC_HELP_STRING([--with-extra-libs=DIR],[adds non standard library paths]), - kde_use_extra_libs=$withval, - kde_use_extra_libs=NONE -) -if test -n "$kde_use_extra_libs" && \ - test "$kde_use_extra_libs" != "NONE"; then - - ac_save_ifs=$IFS - IFS=':' - for dir in $kde_use_extra_libs; do - kde_extra_libs="$kde_extra_libs $dir" - KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir" - USER_LDFLAGS="$USER_LDFLAGS -L$dir" - done - IFS=$ac_save_ifs - kde_use_extra_libs="added" -else - kde_use_extra_libs="no" -fi - -AC_SUBST(USER_LDFLAGS) - -AC_MSG_RESULT($kde_use_extra_libs) - -]) - -AC_DEFUN([KDE_1_CHECK_PATH_HEADERS], -[ - AC_MSG_CHECKING([for KDE headers installed]) - AC_LANG_SAVE - AC_LANG_CPLUSPLUS -cat > conftest.$ac_ext <<EOF -#ifdef STDC_HEADERS -# include <stdlib.h> -#endif -#include <stdio.h> -#include "confdefs.h" -#include <kapp.h> - -int main() { - printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data()); - printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data()); - printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data()); - printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data()); - printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data()); - printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data()); - printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data()); - printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data()); - printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data()); - printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data()); - printf("kde_wallpaperdir=\\"%s\\"\n", - KApplication::kde_wallpaperdir().data()); - printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data()); - printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data()); - printf("kde_servicesdir=\\"/tmp/dummy\\"\n"); - printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n"); - printf("kde_moduledir=\\"/tmp/dummy\\"\n"); - printf("kde_styledir=\\"/tmp/dummy\\"\n"); - printf("kde_widgetdir=\\"/tmp/dummy\\"\n"); - printf("xdg_appsdir=\\"/tmp/dummy\\"\n"); - printf("xdg_menudir=\\"/tmp/dummy\\"\n"); - printf("xdg_directorydir=\\"/tmp/dummy\\"\n"); - printf("kde_kcfgdir=\\"/tmp/dummy\\"\n"); - return 0; - } -EOF - - ac_save_CPPFLAGS=$CPPFLAGS - CPPFLAGS="$all_includes $CPPFLAGS" - if AC_TRY_EVAL(ac_compile); then - AC_MSG_RESULT(yes) - else - AC_MSG_ERROR([your system is not able to compile a small KDE application! -Check, if you installed the KDE header files correctly. -For more details about this problem, look at the end of config.log.]) - fi - CPPFLAGS=$ac_save_CPPFLAGS - - AC_LANG_RESTORE -]) - -AC_DEFUN([KDE_CHECK_KDEQTADDON], -[ -AC_MSG_CHECKING(for kde-qt-addon) -AC_CACHE_VAL(kde_cv_have_kdeqtaddon, -[ - kde_ldflags_safe="$LDFLAGS" - kde_libs_safe="$LIBS" - kde_cxxflags_safe="$CXXFLAGS" - - LIBS="-lkde-qt-addon $LIBQT $LIBS" - CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes" - LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS" - - AC_TRY_LINK([ - #include <qdom.h> - ], - [ - QDomDocument doc; - ], - kde_cv_have_kdeqtaddon=yes, - kde_cv_have_kdeqtaddon=no - ) - - LDFLAGS=$kde_ldflags_safe - LIBS=$kde_libs_safe - CXXFLAGS=$kde_cxxflags_safe -]) - -AC_MSG_RESULT($kde_cv_have_kdeqtaddon) - -if test "$kde_cv_have_kdeqtaddon" = "no"; then - AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first. -It is a separate package (and CVS module) named kde-qt-addon.]) -fi -]) - -AC_DEFUN([KDE_CREATE_LIBS_ALIASES], -[ - AC_REQUIRE([KDE_MISC_TESTS]) - AC_REQUIRE([KDE_CHECK_LIBDL]) - AC_REQUIRE([K_PATH_X]) - -if test $kde_qtver = 3; then - case $host in - *cygwin*) lib_kded="-lkdeinit_kded" ;; - *) lib_kded="" ;; - esac - AC_SUBST(LIB_KDED, $lib_kded) - AC_SUBST(LIB_KDECORE, "-lkdecore") - AC_SUBST(LIB_KDEUI, "-lkdeui") - AC_SUBST(LIB_KIO, "-lkio") - AC_SUBST(LIB_KJS, "-lkjs") - AC_SUBST(LIB_SMB, "-lsmb") - AC_SUBST(LIB_KAB, "-lkab") - AC_SUBST(LIB_KABC, "-lkabc") - AC_SUBST(LIB_KHTML, "-lkhtml") - AC_SUBST(LIB_KSPELL, "-lkspell") - AC_SUBST(LIB_KPARTS, "-lkparts") - AC_SUBST(LIB_KDEPRINT, "-lkdeprint") - AC_SUBST(LIB_KUTILS, "-lkutils") - AC_SUBST(LIB_KDEPIM, "-lkdepim") - AC_SUBST(LIB_KIMPROXY, "-lkimproxy") - AC_SUBST(LIB_KNEWSTUFF, "-lknewstuff") - AC_SUBST(LIB_KDNSSD, "-lkdnssd") - AC_SUBST(LIB_KUNITTEST, "-lkunittest") -# these are for backward compatibility - AC_SUBST(LIB_KSYCOCA, "-lkio") - AC_SUBST(LIB_KFILE, "-lkio") -elif test $kde_qtver = 2; then - AC_SUBST(LIB_KDECORE, "-lkdecore") - AC_SUBST(LIB_KDEUI, "-lkdeui") - AC_SUBST(LIB_KIO, "-lkio") - AC_SUBST(LIB_KSYCOCA, "-lksycoca") - AC_SUBST(LIB_SMB, "-lsmb") - AC_SUBST(LIB_KFILE, "-lkfile") - AC_SUBST(LIB_KAB, "-lkab") - AC_SUBST(LIB_KHTML, "-lkhtml") - AC_SUBST(LIB_KSPELL, "-lkspell") - AC_SUBST(LIB_KPARTS, "-lkparts") - AC_SUBST(LIB_KDEPRINT, "-lkdeprint") -else - AC_SUBST(LIB_KDECORE, "-lkdecore -lXext $(LIB_QT)") - AC_SUBST(LIB_KDEUI, "-lkdeui $(LIB_KDECORE)") - AC_SUBST(LIB_KFM, "-lkfm $(LIB_KDECORE)") - AC_SUBST(LIB_KFILE, "-lkfile $(LIB_KFM) $(LIB_KDEUI)") - AC_SUBST(LIB_KAB, "-lkab $(LIB_KIMGIO) $(LIB_KDECORE)") -fi -]) - -AC_DEFUN([AC_PATH_KDE], -[ - AC_BASE_PATH_KDE - AC_ARG_ENABLE(path-check,AC_HELP_STRING([--disable-path-check],[don't try to find out, where to install]), - [ - if test "$enableval" = "no"; - then ac_use_path_checking="default" - else ac_use_path_checking="" - fi - ], - [ - if test "$kde_qtver" = 1; - then ac_use_path_checking="" - else ac_use_path_checking="default" - fi - ] - ) - - AC_CREATE_KFSSTND($ac_use_path_checking) - - AC_SUBST_KFSSTND - KDE_CREATE_LIBS_ALIASES -]) - -dnl KDE_CHECK_FUNC_EXT(<func>, [headers], [sample-use], [C prototype], [autoheader define], [call if found]) -AC_DEFUN([KDE_CHECK_FUNC_EXT], -[ -AC_MSG_CHECKING(for $1) -AC_CACHE_VAL(kde_cv_func_$1, -[ -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -save_CXXFLAGS="$CXXFLAGS" -kde_safe_LIBS="$LIBS" -LIBS="$LIBS $X_EXTRA_LIBS" -if test "$GXX" = "yes"; then -CXXFLAGS="$CXXFLAGS -pedantic-errors" -fi -AC_TRY_COMPILE([ -$2 -], -[ -$3 -], -kde_cv_func_$1=yes, -kde_cv_func_$1=no) -CXXFLAGS="$save_CXXFLAGS" -LIBS="$kde_safe_LIBS" -AC_LANG_RESTORE -]) - -AC_MSG_RESULT($kde_cv_func_$1) - -AC_MSG_CHECKING([if $1 needs custom prototype]) -AC_CACHE_VAL(kde_cv_proto_$1, -[ -if test "x$kde_cv_func_$1" = xyes; then - kde_cv_proto_$1=no -else - case "$1" in - setenv|unsetenv|usleep|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat) - kde_cv_proto_$1="yes - in libkdefakes" - ;; - *) - kde_cv_proto_$1=unknown - ;; - esac -fi - -if test "x$kde_cv_proto_$1" = xunknown; then - -AC_LANG_SAVE -AC_LANG_CPLUSPLUS - kde_safe_libs=$LIBS - LIBS="$LIBS $X_EXTRA_LIBS" - AC_TRY_LINK([ -$2 - -extern "C" $4; -], -[ -$3 -], -[ kde_cv_func_$1=yes - kde_cv_proto_$1=yes ], - [kde_cv_proto_$1="$1 unavailable"] -) -LIBS=$kde_safe_libs -AC_LANG_RESTORE -fi -]) -AC_MSG_RESULT($kde_cv_proto_$1) - -if test "x$kde_cv_func_$1" = xyes; then - AC_DEFINE(HAVE_$5, 1, [Define if you have $1]) - $6 -fi -if test "x$kde_cv_proto_$1" = xno; then - AC_DEFINE(HAVE_$5_PROTO, 1, - [Define if you have the $1 prototype]) -fi - -AH_VERBATIM([_HAVE_$5_PROTO], -[ -#if !defined(HAVE_$5_PROTO) -#ifdef __cplusplus -extern "C" { -#endif -$4; -#ifdef __cplusplus -} -#endif -#endif -]) -]) - -AC_DEFUN([AC_CHECK_SETENV], -[ - KDE_CHECK_FUNC_EXT(setenv, [ -#include <stdlib.h> -], - [setenv("VAR", "VALUE", 1);], - [int setenv (const char *, const char *, int)], - [SETENV]) -]) - -AC_DEFUN([AC_CHECK_UNSETENV], -[ - KDE_CHECK_FUNC_EXT(unsetenv, [ -#include <stdlib.h> -], - [unsetenv("VAR");], - [void unsetenv (const char *)], - [UNSETENV]) -]) - -AC_DEFUN([AC_CHECK_GETDOMAINNAME], -[ - KDE_CHECK_FUNC_EXT(getdomainname, [ -#include <stdlib.h> -#include <unistd.h> -#include <netdb.h> -], - [ -char buffer[200]; -getdomainname(buffer, 200); -], - [#include <sys/types.h> - int getdomainname (char *, size_t)], - [GETDOMAINNAME]) -]) - -AC_DEFUN([AC_CHECK_GETHOSTNAME], -[ - KDE_CHECK_FUNC_EXT(gethostname, [ -#include <stdlib.h> -#include <unistd.h> -], - [ -char buffer[200]; -gethostname(buffer, 200); -], - [int gethostname (char *, unsigned int)], - [GETHOSTNAME]) -]) - -AC_DEFUN([AC_CHECK_USLEEP], -[ - KDE_CHECK_FUNC_EXT(usleep, [ -#include <unistd.h> -], - [ -usleep(200); -], - [int usleep (unsigned int)], - [USLEEP]) -]) - - -AC_DEFUN([AC_CHECK_RANDOM], -[ - KDE_CHECK_FUNC_EXT(random, [ -#include <stdlib.h> -], - [ -random(); -], - [long int random(void)], - [RANDOM]) - - KDE_CHECK_FUNC_EXT(srandom, [ -#include <stdlib.h> -], - [ -srandom(27); -], - [void srandom(unsigned int)], - [SRANDOM]) - -]) - -AC_DEFUN([AC_CHECK_INITGROUPS], -[ - KDE_CHECK_FUNC_EXT(initgroups, [ -#include <sys/types.h> -#include <unistd.h> -#include <grp.h> -], - [ -char buffer[200]; -initgroups(buffer, 27); -], - [int initgroups(const char *, gid_t)], - [INITGROUPS]) -]) - -AC_DEFUN([AC_CHECK_MKSTEMPS], -[ - KDE_CHECK_FUNC_EXT(mkstemps, [ -#include <stdlib.h> -#include <unistd.h> -], - [ -mkstemps("/tmp/aaaXXXXXX", 6); -], - [int mkstemps(char *, int)], - [MKSTEMPS]) -]) - -AC_DEFUN([AC_CHECK_MKSTEMP], -[ - KDE_CHECK_FUNC_EXT(mkstemp, [ -#include <stdlib.h> -#include <unistd.h> -], - [ -mkstemp("/tmp/aaaXXXXXX"); -], - [int mkstemp(char *)], - [MKSTEMP]) -]) - -AC_DEFUN([AC_CHECK_MKDTEMP], -[ - KDE_CHECK_FUNC_EXT(mkdtemp, [ -#include <stdlib.h> -#include <unistd.h> -], - [ -mkdtemp("/tmp/aaaXXXXXX"); -], - [char *mkdtemp(char *)], - [MKDTEMP]) -]) - - -AC_DEFUN([AC_CHECK_RES_INIT], -[ - AC_MSG_CHECKING([if res_init needs -lresolv]) - kde_libs_safe="$LIBS" - LIBS="$LIBS $X_EXTRA_LIBS -lresolv" - AC_TRY_LINK( - [ -#include <sys/types.h> -#include <netinet/in.h> -#include <arpa/nameser.h> -#include <resolv.h> - ], - [ - res_init(); - ], - [ - LIBRESOLV="-lresolv" - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function]) - ], - [ AC_MSG_RESULT(no) ] - ) - LIBS=$kde_libs_safe - AC_SUBST(LIBRESOLV) - - KDE_CHECK_FUNC_EXT(res_init, - [ -#include <sys/types.h> -#include <netinet/in.h> -#include <arpa/nameser.h> -#include <resolv.h> - ], - [res_init()], - [int res_init(void)], - [RES_INIT]) -]) - -AC_DEFUN([AC_CHECK_STRLCPY], -[ - KDE_CHECK_FUNC_EXT(strlcpy, [ -#include <string.h> -], -[ char buf[20]; - strlcpy(buf, "KDE function test", sizeof(buf)); -], - [unsigned long strlcpy(char*, const char*, unsigned long)], - [STRLCPY]) -]) - -AC_DEFUN([AC_CHECK_STRLCAT], -[ - KDE_CHECK_FUNC_EXT(strlcat, [ -#include <string.h> -], -[ char buf[20]; - buf[0]='\0'; - strlcat(buf, "KDE function test", sizeof(buf)); -], - [unsigned long strlcat(char*, const char*, unsigned long)], - [STRLCAT]) -]) - -AC_DEFUN([AC_CHECK_RES_QUERY], -[ - KDE_CHECK_FUNC_EXT(res_query, [ -#include <sys/types.h> -#include <netinet/in.h> -#include <arpa/nameser.h> -#include <resolv.h> -#include <netdb.h> -], -[ -res_query(NULL, 0, 0, NULL, 0); -], - [int res_query(const char *, int, int, unsigned char *, int)], - [RES_QUERY]) -]) - -AC_DEFUN([AC_CHECK_DN_SKIPNAME], -[ - KDE_CHECK_FUNC_EXT(dn_skipname, [ -#include <sys/types.h> -#include <netinet/in.h> -#include <arpa/nameser.h> -#include <resolv.h> -], -[ -dn_skipname (NULL, NULL); -], - [int dn_skipname (unsigned char *, unsigned char *)], - [DN_SKIPNAME]) -]) - - -AC_DEFUN([AC_FIND_GIF], - [AC_MSG_CHECKING([for giflib]) -AC_CACHE_VAL(ac_cv_lib_gif, -[ac_save_LIBS="$LIBS" -if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then -LIBS="$all_libraries -lgif -lX11 $LIBSOCKET" -else -LIBS="$all_libraries -lgif" -fi -AC_TRY_LINK(dnl -[ -#ifdef __cplusplus -extern "C" { -#endif -int GifLastError(void); -#ifdef __cplusplus -} -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -], - [return GifLastError();], - eval "ac_cv_lib_gif=yes", - eval "ac_cv_lib_gif=no") -LIBS="$ac_save_LIBS" -])dnl -if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then - AC_MSG_RESULT(yes) - AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif]) -else - AC_MSG_ERROR(You need giflib30. Please install the kdesupport package) -fi -]) - -AC_DEFUN([KDE_FIND_JPEG_HELPER], -[ -AC_MSG_CHECKING([for libjpeg$2]) -AC_CACHE_VAL(ac_cv_lib_jpeg_$1, -[ -ac_save_LIBS="$LIBS" -LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm" -ac_save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" -AC_TRY_LINK( -[ -#ifdef __cplusplus -extern "C" { -#endif -void jpeg_CreateDecompress(); -#ifdef __cplusplus -} -#endif -], -[jpeg_CreateDecompress();], - eval "ac_cv_lib_jpeg_$1=-ljpeg$2", - eval "ac_cv_lib_jpeg_$1=no") -LIBS="$ac_save_LIBS" -CFLAGS="$ac_save_CFLAGS" -]) - -if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then - LIBJPEG="$ac_cv_lib_jpeg_$1" - AC_MSG_RESULT($ac_cv_lib_jpeg_$1) -else - AC_MSG_RESULT(no) - $3 -fi - -]) - -AC_DEFUN([AC_FIND_JPEG], -[ -dnl first look for libraries -KDE_FIND_JPEG_HELPER(6b, 6b, - KDE_FIND_JPEG_HELPER(normal, [], - [ - LIBJPEG= - ] - ) -) - -dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h -dnl requires system dependent includes loaded before it) -jpeg_incdirs="$includedir /usr/include /usr/local/include $kde_extra_includes" -AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir) -test "x$jpeg_incdir" = xNO && jpeg_incdir= - -dnl if headers _and_ libraries are missing, this is no error, and we -dnl continue with a warning (the user will get no jpeg support in khtml) -dnl if only one is missing, it means a configuration error, but we still -dnl only warn -if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then - AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg]) -else - if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then - AC_MSG_WARN([ -There is an installation error in jpeg support. You seem to have only one -of either the headers _or_ the libraries installed. You may need to either -provide correct --with-extra-... options, or the development package of -libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/ -Disabling JPEG support. -]) - else - AC_MSG_WARN([libjpeg not found. disable JPEG support.]) - fi - jpeg_incdir= - LIBJPEG= -fi - -AC_SUBST(LIBJPEG) -AH_VERBATIM(_AC_CHECK_JPEG, -[/* - * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system - * headers and I'm too lazy to write a configure test as long as only - * unixware is related - */ -#ifdef _UNIXWARE -#define HAVE_BOOLEAN -#endif -]) -]) - -AC_DEFUN([KDE_CHECK_QT_JPEG], -[ -if test -n "$LIBJPEG"; then -AC_MSG_CHECKING([if Qt needs $LIBJPEG]) -AC_CACHE_VAL(kde_cv_qt_jpeg, -[ -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -ac_save_LIBS="$LIBS" -LIBS="$all_libraries $USER_LDFLAGS $LIBQT" -LIBS=`echo $LIBS | sed "s/$LIBJPEG//"` -ac_save_CXXFLAGS="$CXXFLAGS" -CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" -AC_TRY_LINK( -[#include <qapplication.h>], - [ - int argc; - char** argv; - QApplication app(argc, argv);], - eval "kde_cv_qt_jpeg=no", - eval "kde_cv_qt_jpeg=yes") -LIBS="$ac_save_LIBS" -CXXFLAGS="$ac_save_CXXFLAGS" -AC_LANG_RESTORE -fi -]) - -if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then - AC_MSG_RESULT(yes) - LIBJPEG_QT='$(LIBJPEG)' -else - AC_MSG_RESULT(no) - LIBJPEG_QT= -fi - -]) - -AC_DEFUN([AC_FIND_ZLIB], -[ -AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) -AC_MSG_CHECKING([for libz]) -AC_CACHE_VAL(ac_cv_lib_z, -[ -kde_save_LIBS="$LIBS" -LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET" -kde_save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" -AC_TRY_LINK(dnl -[ -#include<zlib.h> -], -[ - char buf[42]; - gzFile f = (gzFile) 0; - /* this would segfault.. but we only link, don't run */ - (void) gzgets(f, buf, sizeof(buf)); - - return (zlibVersion() == ZLIB_VERSION); -], - eval "ac_cv_lib_z='-lz'", - eval "ac_cv_lib_z=no") -LIBS="$kde_save_LIBS" -CFLAGS="$kde_save_CFLAGS" -])dnl -if test ! "$ac_cv_lib_z" = no; then - AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz]) - LIBZ="$ac_cv_lib_z" - AC_MSG_RESULT($ac_cv_lib_z) -else - AC_MSG_ERROR(not found. - Possibly configure picks up an outdated version - installed by XFree86. Remove it from your system. - - Check your installation and look into config.log) - LIBZ="" -fi -AC_SUBST(LIBZ) -]) - -AC_DEFUN([KDE_TRY_TIFFLIB], -[ -AC_MSG_CHECKING([for libtiff $1]) - -AC_CACHE_VAL(kde_cv_libtiff_$1, -[ -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -kde_save_LIBS="$LIBS" -if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then -LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm" -else -LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm" -fi -kde_save_CXXFLAGS="$CXXFLAGS" -CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" - -AC_TRY_LINK(dnl -[ -#include<tiffio.h> -], - [return (TIFFOpen( "", "r") == 0); ], -[ - kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ" -], [ - kde_cv_libtiff_$1=no -]) - -LIBS="$kde_save_LIBS" -CXXFLAGS="$kde_save_CXXFLAGS" -AC_LANG_RESTORE -]) - -if test "$kde_cv_libtiff_$1" = "no"; then - AC_MSG_RESULT(no) - LIBTIFF="" - $3 -else - LIBTIFF="$kde_cv_libtiff_$1" - AC_MSG_RESULT(yes) - AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff]) - $2 -fi - -]) - -AC_DEFUN([AC_FIND_TIFF], -[ -AC_REQUIRE([K_PATH_X]) -AC_REQUIRE([AC_FIND_ZLIB]) -AC_REQUIRE([AC_FIND_JPEG]) -AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) - -KDE_TRY_TIFFLIB(tiff, [], - KDE_TRY_TIFFLIB(tiff34)) - -AC_SUBST(LIBTIFF) -]) - -AC_DEFUN([KDE_FIND_LIBEXR], -[ -AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) -AC_REQUIRE([AC_FIND_ZLIB]) -AC_CACHE_VAL(ac_cv_libexr, -[ - if test -z "$PKG_CONFIG"; then - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) - fi - - AC_MSG_CHECKING([for OpenEXR libraries]) - - if test "$PKG_CONFIG" = "no" ; then - AC_MSG_RESULT(no) - echo "*** The pkg-config script could not be found. Make sure it is" - echo "*** in your path, or set the PKG_CONFIG environment variable" - echo "*** to the full path to pkg-config." - echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." - else - if !(`$PKG_CONFIG --exists OpenEXR`) ; then - AC_MSG_RESULT(no) - EXRSTATUS=no - else - if !(`$PKG_CONFIG --atleast-version="1.1.1" OpenEXR`) ; then - AC_MSG_RESULT(no) - EXRSTATUS=old - else - kde_save_LIBS="$LIBS" - LIBS="$LIBS $all_libraries $USER_LDFLAGS $LIBZ `pkg-config --libs OpenEXR`" - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - kde_save_CXXFLAGS="$CXXFLAGS" - EXR_FLAGS=`$PKG_CONFIG --cflags OpenEXR` - CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES $EXR_FLAGS" - - AC_TRY_LINK(dnl - [ - #include <ImfRgbaFile.h> - ], - [ - using namespace Imf; - RgbaInputFile file ("dummy"); - return 0; - ], - eval "ac_cv_libexr='`pkg-config --libs OpenEXR`'", - eval "ac_cv_libexr=no" - ) - LIBS="$kde_save_LIBS" - CXXFLAGS="$kde_save_CXXFLAGS" - AC_LANG_RESTORE - ])dnl - if eval "test ! \"`echo $ac_cv_libexr`\" = no"; then - AC_DEFINE_UNQUOTED(HAVE_EXR, 1, [Define if you have OpenEXR]) - LIB_EXR="$ac_cv_libexr" - AC_MSG_RESULT($ac_cv_libexr) - else - AC_MSG_RESULT(no) - LIB_EXR="" - fi - fi - fi - fi - AC_SUBST(LIB_EXR) - AC_SUBST(EXR_FLAGS) -]) - - - -AC_DEFUN([AC_FIND_PNG], -[ -AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) -AC_REQUIRE([AC_FIND_ZLIB]) -AC_MSG_CHECKING([for libpng]) -AC_CACHE_VAL(ac_cv_lib_png, -[ -kde_save_LIBS="$LIBS" -if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then -LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET" -else -LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm" -fi -kde_save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" - -AC_TRY_LINK(dnl - [ - #include<png.h> - ], - [ - png_structp png_ptr = png_create_read_struct( /* image ptr */ - PNG_LIBPNG_VER_STRING, 0, 0, 0 ); - return( png_ptr != 0 ); - ], - eval "ac_cv_lib_png='-lpng $LIBZ -lm'", - eval "ac_cv_lib_png=no" -) -LIBS="$kde_save_LIBS" -CFLAGS="$kde_save_CFLAGS" -])dnl -if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then - AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng]) - LIBPNG="$ac_cv_lib_png" - AC_SUBST(LIBPNG) - AC_MSG_RESULT($ac_cv_lib_png) -else - AC_MSG_RESULT(no) - LIBPNG="" - AC_SUBST(LIBPNG) -fi -]) - - -AC_DEFUN([AC_FIND_JASPER], -[ -AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) -AC_REQUIRE([AC_FIND_JPEG]) -AC_MSG_CHECKING([for jasper]) -AC_CACHE_VAL(ac_cv_jasper, -[ -kde_save_LIBS="$LIBS" -LIBS="$LIBS $all_libraries $USER_LDFLAGS -ljasper $LIBJPEG -lm" -kde_save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" - -AC_TRY_LINK(dnl - [ - #include<jasper/jasper.h> - ], - [ - return( jas_init() ); - ], - eval "ac_cv_jasper='-ljasper $LIBJPEG -lm'", - eval "ac_cv_jasper=no" -) -LIBS="$kde_save_LIBS" -CFLAGS="$kde_save_CFLAGS" -])dnl -if eval "test ! \"`echo $ac_cv_jasper`\" = no"; then - AC_DEFINE_UNQUOTED(HAVE_JASPER, 1, [Define if you have jasper]) - LIB_JASPER="$ac_cv_jasper" - AC_MSG_RESULT($ac_cv_jasper) -else - AC_MSG_RESULT(no) - LIB_JASPER="" -fi -AC_SUBST(LIB_JASPER) -]) - -AC_DEFUN([AC_CHECK_BOOL], -[ - AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool]) -]) - -AC_DEFUN([AC_CHECK_GNU_EXTENSIONS], -[ -AC_MSG_CHECKING(if you need GNU extensions) -AC_CACHE_VAL(ac_cv_gnu_extensions, -[ -cat > conftest.c << EOF -#include <features.h> - -#ifdef __GNU_LIBRARY__ -yes -#endif -EOF - -if (eval "$ac_cpp conftest.c") 2>&5 | - egrep "yes" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_gnu_extensions=yes -else - ac_cv_gnu_extensions=no -fi -]) - -AC_MSG_RESULT($ac_cv_gnu_extensions) -if test "$ac_cv_gnu_extensions" = "yes"; then - AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions]) -fi -]) - -AC_DEFUN([KDE_CHECK_COMPILER_FLAG], -[ -AC_MSG_CHECKING([whether $CXX supports -$1]) -kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'` -AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache, -[ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -$1" - AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], []) - CXXFLAGS="$save_CXXFLAGS" - AC_LANG_RESTORE -]) -if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then - AC_MSG_RESULT(yes) - : - $2 -else - AC_MSG_RESULT(no) - : - $3 -fi -]) - -AC_DEFUN([KDE_CHECK_C_COMPILER_FLAG], -[ -AC_MSG_CHECKING([whether $CC supports -$1]) -kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'` -AC_CACHE_VAL(kde_cv_prog_cc_$kde_cache, -[ - AC_LANG_SAVE - AC_LANG_C - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -$1" - AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cc_$kde_cache=yes"], []) - CFLAGS="$save_CFLAGS" - AC_LANG_RESTORE -]) -if eval "test \"`echo '$kde_cv_prog_cc_'$kde_cache`\" = yes"; then - AC_MSG_RESULT(yes) - : - $2 -else - AC_MSG_RESULT(no) - : - $3 -fi -]) - - -dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables -dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever]) -dnl it's all white-space separated -AC_DEFUN([AC_REMOVE_FORBIDDEN], -[ __val=$$1 - __forbid=" $2 " - if test -n "$__val"; then - __new="" - ac_save_IFS=$IFS - IFS=" " - for i in $__val; do - case "$__forbid" in - *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;; - *) # Careful to not add spaces, where there were none, because otherwise - # libtool gets confused, if we change e.g. CXX - if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;; - esac - done - IFS=$ac_save_IFS - $1=$__new - fi -]) - - -AC_DEFUN([KDE_CHECK_FOR_BAD_COMPILER], -[ - AC_MSG_CHECKING([whether $CC is blacklisted]) - - dnl In theory we have tu run this test against $CC and $CXX - dnl in C and in C++ mode, because its perfectly legal for - dnl the user to mix compiler versions, since C has a defined - dnl ABI. - dnl - dnl For now, we assume the user is not on crack. - - AC_TRY_COMPILE([ -#ifdef __GNUC__ -#if __GNUC__ == 4 && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 0 -choke me -#endif -#endif -], , - kde_bad_compiler=no, - kde_bad_compiler=yes -) - - AC_MSG_RESULT($kde_bad_compiler) - -if test "$kde_bad_compiler" = "yes"; then - AC_MSG_ERROR([ - -This particular compiler version is blacklisted because it -is known to miscompile KDE. Please use a newer version, or -if that is not yet available, choose an older version. - -Please do not report a bug or bother us reporting this -configure error. We know about it, and we introduced -it by intention to avoid untraceable bugs or crashes in KDE. - -]) -fi - -]) - -dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given -AC_DEFUN([AC_VALIDIFY_CXXFLAGS], -[dnl -if test "x$kde_use_qt_emb" != "xyes"; then - AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath]) - AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath]) -else - AC_REMOVE_FORBIDDEN(CXX, [-rpath]) - AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath]) -fi -]) - -AC_DEFUN([AC_CHECK_COMPILERS], -[ - AC_ARG_ENABLE(debug, - AC_HELP_STRING([--enable-debug=ARG],[enables debug symbols (yes|no|full) [default=no]]), - [ - case $enableval in - yes) - kde_use_debug_code="yes" - kde_use_debug_define=no - ;; - full) - kde_use_debug_code="full" - kde_use_debug_define=no - ;; - *) - kde_use_debug_code="no" - kde_use_debug_define=yes - ;; - esac - ], - [kde_use_debug_code="no" - kde_use_debug_define=no - ]) - - dnl Just for configure --help - AC_ARG_ENABLE(dummyoption, - AC_HELP_STRING([--disable-debug], - [disables debug output and debug symbols [default=no]]), - [],[]) - - AC_ARG_ENABLE(strict, - AC_HELP_STRING([--enable-strict], - [compiles with strict compiler options (may not work!)]), - [ - if test $enableval = "no"; then - kde_use_strict_options="no" - else - kde_use_strict_options="yes" - fi - ], [kde_use_strict_options="no"]) - - AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similar]), - [ - if test $enableval = "no"; then - kde_use_warnings="no" - else - kde_use_warnings="yes" - fi - ], [kde_use_warnings="yes"]) - - dnl enable warnings for debug build - if test "$kde_use_debug_code" != "no"; then - kde_use_warnings=yes - fi - - AC_ARG_ENABLE(profile,AC_HELP_STRING([--enable-profile],[creates profiling infos [default=no]]), - [kde_use_profiling=$enableval], - [kde_use_profiling="no"] - ) - - dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS - CFLAGS=" $CFLAGS" - - AC_PROG_CC - - AC_PROG_CPP - - if test "$GCC" = "yes"; then - if test "$kde_use_debug_code" != "no"; then - if test $kde_use_debug_code = "full"; then - CFLAGS="-g3 -fno-inline $CFLAGS" - else - CFLAGS="-g -O2 -fno-schedule-insns -fno-inline $CFLAGS" - fi - else - CFLAGS="-O2 $CFLAGS" - fi - fi - - if test "$kde_use_debug_define" = "yes"; then - CFLAGS="-DNDEBUG $CFLAGS" - fi - - - case "$host" in - *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";; - *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";; - esac - - if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then - LDFLAGS="" - fi - - CXXFLAGS=" $CXXFLAGS" - - AC_PROG_CXX - -dnl KDE_CHECK_FOR_BAD_COMPILER - - if test "$GXX" = "yes" || test "$CXX" = "KCC"; then - if test "$kde_use_debug_code" != "no"; then - if test "$CXX" = "KCC"; then - CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wwrite-strings $CXXFLAGS" - else - if test "$kde_use_debug_code" = "full"; then - CXXFLAGS="-g3 -fno-inline $CXXFLAGS" - else - CXXFLAGS="-g -O2 -fno-schedule-insns -fno-inline $CXXFLAGS" - fi - fi - KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"]) - - dnl convenience compiler flags - KDE_CHECK_COMPILER_FLAG(Woverloaded-virtual, [WOVERLOADED_VIRTUAL="-Woverloaded-virtual"], [WOVERLOADED_VRITUAL=""]) - AC_SUBST(WOVERLOADED_VIRTUAL) - else - if test "$CXX" = "KCC"; then - CXXFLAGS="+K3 $CXXFLAGS" - else - CXXFLAGS="-O2 $CXXFLAGS" - fi - fi - fi - - if test "$kde_use_debug_define" = "yes"; then - CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS" - fi - - if test "$kde_use_profiling" = "yes"; then - KDE_CHECK_COMPILER_FLAG(pg, - [ - CFLAGS="-pg $CFLAGS" - CXXFLAGS="-pg $CXXFLAGS" - ]) - fi - - if test "$kde_use_warnings" = "yes"; then - if test "$GCC" = "yes"; then - CXXFLAGS="-Wall -W -Wpointer-arith $CXXFLAGS" - case $host in - *-*-linux-gnu) - CFLAGS="-std=iso9899:1990 -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS" - CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts $CXXFLAGS" - KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"]) - KDE_CHECK_C_COMPILER_FLAG(Wmissing-format-attribute, [CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"]) - ;; - esac - KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"]) - KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"]) - dnl ### FIXME: revert for KDE 4 - KDE_CHECK_COMPILER_FLAG(Wno-non-virtual-dtor,[CXXFLAGS="$CXXFLAGS -Wno-non-virtual-dtor"]) - fi - fi - - if test "$GXX" = "yes" && test "$kde_use_strict_options" = "yes"; then - CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS" - fi - - AC_ARG_ENABLE(pch, - AC_HELP_STRING([--enable-pch], - [enables precompiled header support (currently only KCC or gcc >=3.4+unsermake) [default=no]]), - [ kde_use_pch=$enableval ],[ kde_use_pch=no ]) - - HAVE_GCC_VISIBILITY=0 - AC_SUBST([HAVE_GCC_VISIBILITY]) - - if test "$GXX" = "yes"; then - gcc_no_reorder_blocks=NO - KDE_CHECK_COMPILER_FLAG(fno-reorder-blocks,[gcc_no_reorder_blocks=YES]) - if test $kde_use_debug_code != "no" && \ - test $kde_use_debug_code != "full" && \ - test "YES" = "$gcc_no_reorder_blocks" ; then - CXXFLAGS="$CXXFLAGS -fno-reorder-blocks" - CFLAGS="$CFLAGS -fno-reorder-blocks" - fi - KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"]) - KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"]) - KDE_CHECK_COMPILER_FLAG(fno-common, [CXXFLAGS="$CXXFLAGS -fno-common"]) - KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS= ) - ENABLE_PERMISSIVE_FLAG="-fpermissive" - - if test "$kde_use_pch" = "yes"; then - AC_MSG_CHECKING(whether gcc supports precompiling c header files) - echo >conftest.h - if $CC -x c-header conftest.h >/dev/null 2>/dev/null; then - kde_gcc_supports_pch=yes - AC_MSG_RESULT(yes) - else - kde_gcc_supports_pch=no - AC_MSG_RESULT(no) - fi - if test "$kde_gcc_supports_pch" = "yes"; then - AC_MSG_CHECKING(whether gcc supports precompiling c++ header files) - if $CXX -x c++-header conftest.h >/dev/null 2>/dev/null; then - kde_gcc_supports_pch=yes - AC_MSG_RESULT(yes) - else - kde_gcc_supports_pch=no - AC_MSG_RESULT(no) - fi - fi - rm -f conftest.h conftest.h.gch - fi - fi - AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes") - if test "$CXX" = "KCC"; then - dnl unfortunately we currently cannot disable exception support in KCC - dnl because doing so is binary incompatible and Qt by default links with exceptions :-( - dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"]) - dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS= ) - - if test "$kde_use_pch" = "yes"; then - dnl TODO: support --pch-dir! - KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"]) - dnl the below works (but the dir must exist), but it's - dnl useless for a whole package. - dnl The are precompiled headers for each source file, so when compiling - dnl from scratch, it doesn't make a difference, and they take up - dnl around ~5Mb _per_ sourcefile. - dnl KDE_CHECK_COMPILER_FLAG(-pch_dir /tmp, - dnl [CXXFLAGS="$CXXFLAGS --pch_dir `pwd`/pcheaders"]) - fi - dnl this flag controls inlining. by default KCC inlines in optimisation mode - dnl all implementations that are defined inside the class {} declaration. - dnl because of templates-compatibility with broken gcc compilers, this - dnl can cause excessive inlining. This flag limits it to a sane level - KDE_CHECK_COMPILER_FLAG(-inline_keyword_space_time=6,[CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"]) - KDE_CHECK_COMPILER_FLAG(-inline_auto_space_time=2,[CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"]) - KDE_CHECK_COMPILER_FLAG(-inline_implicit_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"]) - KDE_CHECK_COMPILER_FLAG(-inline_generated_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"]) - dnl Some source files are shared between multiple executables - dnl (or libraries) and some of those need template instantiations. - dnl In that case KCC needs to compile those sources with - dnl --one_instantiation_per_object. To make it easy for us we compile - dnl _all_ objects with that flag (--one_per is a shorthand). - KDE_CHECK_COMPILER_FLAG(-one_per, [CXXFLAGS="$CXXFLAGS --one_per"]) - fi - AC_SUBST(USE_EXCEPTIONS) - dnl obsolete macro - provided to keep things going - USE_RTTI= - AC_SUBST(USE_RTTI) - - case "$host" in - *-*-irix*) test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;; - *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";; - *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";; - *-*-solaris*) - if test "$GXX" = yes; then - libstdcpp=`$CXX -print-file-name=libstdc++.so` - if test ! -f $libstdcpp; then - AC_MSG_ERROR([You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so]) - fi - fi - ;; - esac - - AC_VALIDIFY_CXXFLAGS - - AC_PROG_CXXCPP - - if test "$GCC" = yes; then - NOOPT_CFLAGS=-O0 - fi - KDE_CHECK_COMPILER_FLAG(O0,[NOOPT_CXXFLAGS=-O0]) - - AC_ARG_ENABLE(coverage, - AC_HELP_STRING([--enable-coverage],[use gcc coverage testing]), [ - if test "$am_cv_CC_dependencies_compiler_type" = "gcc3"; then - ac_coverage_compiler="-fprofile-arcs -ftest-coverage" - ac_coverage_linker="-lgcc" - elif test "$am_cv_CC_dependencies_compiler_type" = "gcc"; then - ac_coverage_compiler="-fprofile-arcs -ftest-coverage" - ac_coverage_linker="" - else - AC_MSG_ERROR([coverage with your compiler is not supported]) - fi - CFLAGS="$CFLAGS $ac_coverage_compiler" - CXXFLAGS="$CXXFLAGS $ac_coverage_compiler" - LDFLAGS="$LDFLAGS $ac_coverage_linker" - ]) - - AC_SUBST(NOOPT_CXXFLAGS) - AC_SUBST(NOOPT_CFLAGS) - AC_SUBST(ENABLE_PERMISSIVE_FLAG) - - KDE_CHECK_NEW_LDFLAGS - KDE_CHECK_FINAL - KDE_CHECK_CLOSURE - KDE_CHECK_NMCHECK - - ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), []) -]) - -AC_DEFUN([KDE_CHECK_VISIBILITY_GCC_BUG], - [ - AC_CACHE_CHECK([for gcc -fvisibility-inlines-hidden bug], kde_cv_val_gcc_visibility_bug, - [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - - safe_CXXFLAGS=$CXXFLAGS - safe_LDFLAGS=$LDFLAGS - CXXFLAGS="$CXXFLAGS -fPIC -fvisibility-inlines-hidden -O0" - LDFLAGS="$LDFLAGS -shared -fPIC" - - AC_TRY_LINK( - [ - /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */ - #include <string> - int some_function( void ) __attribute__ ((visibility("default"))); - int some_function( void ) - { - std::string s("blafasel"); - return 0; - } - ], [/* elvis is alive */], - kde_cv_val_gcc_visibility_bug=no, kde_cv_val_gcc_visibility_bug=yes) - - CXXFLAGS=$safe_CXXFLAGS - LDFLAGS=$safe_LDFLAGS - AC_LANG_RESTORE - ] - ) - - if test x$kde_cv_val_gcc_visibility_bug = xno; then - CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden" - fi - ] -) - -AC_DEFUN([KDE_ENABLE_HIDDEN_VISIBILITY], -[ - AC_BEFORE([AC_PATH_QT_1_3], [KDE_ENABLE_HIDDEN_VISIBILITY]) - - AC_MSG_CHECKING([grepping for visibility push/pop in headers]) - - if test "x$GXX" = "xyes"; then - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_EGREP_CPP( - [GCC visibility push], - [ #include <exception> - ], - [ - AC_MSG_RESULT(yes) - kde_stdc_visibility_patched=yes ], - [ - AC_MSG_RESULT(no) - AC_MSG_WARN([Your libstdc++ doesn't appear to be patched for - visibility support. Disabling -fvisibility=hidden]) - - kde_stdc_visibility_patched=no ]) - - AC_LANG_RESTORE - - kde_have_gcc_visibility=no - KDE_CHECK_COMPILER_FLAG(fvisibility=hidden, - [ - kde_have_gcc_visibility=yes - dnl the whole toolchain is just a mess, gcc is just too buggy - dnl to handle STL with visibility enabled. Lets reconsider - dnl when gcc 4.2 is out or when things get fixed in the compiler. - dnl Contact mueller@kde.org for details. - AC_ARG_ENABLE(gcc-hidden-visibility, - AC_HELP_STRING([--enable-gcc-hidden-visibility],[toolchain hidden visibility [default=no]]), - [kde_have_gcc_visibility=$enableval], - [kde_have_gcc_visibility=no]) - - AC_CACHE_CHECK([if Qt is patched for -fvisibility], kde_cv_val_qt_gcc_visibility_patched, - [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - - safe_CXXFLAGS=$CXXFLAGS - CXXFLAGS="$CXXFLAGS $all_includes" - - AC_TRY_COMPILE( - [ -#include <qglobal.h> -#if Q_EXPORT - 0 != 0 -/* if this compiles, then Q_EXPORT is undefined */ -/* if Q_EXPORT is nonempty, this will break compilation */ -#endif - ], [/* elvis is alive */], - kde_cv_val_qt_gcc_visibility_patched=no, kde_cv_val_qt_gcc_visibility_patched=yes) - - CXXFLAGS=$safe_CXXFLAGS - AC_LANG_RESTORE - ] - ) - - if test x$kde_have_gcc_visibility = "xyes" && test x$kde_stdc_visibility_patched = "xyes" && test x$kde_cv_val_qt_gcc_visibility_patched = "xyes"; then - CXXFLAGS="$CXXFLAGS -fvisibility=hidden" - KDE_CHECK_VISIBILITY_GCC_BUG - HAVE_GCC_VISIBILITY=1 - AC_DEFINE_UNQUOTED(__KDE_HAVE_GCC_VISIBILITY, "$HAVE_GCC_VISIBILITY", [define to 1 if -fvisibility is supported]) - fi - ]) - fi -]) - -AC_DEFUN([KDE_ADD_DEPENDENCIES], -[ - [A]M_DEPENDENCIES(CC) - [A]M_DEPENDENCIES(CXX) -]) - -dnl just a wrapper to clean up configure.in -AC_DEFUN([KDE_PROG_LIBTOOL], -[ -AC_REQUIRE([AC_CHECK_COMPILERS]) -AC_REQUIRE([AC_ENABLE_SHARED]) -AC_REQUIRE([AC_ENABLE_STATIC]) - -AC_REQUIRE([AC_LIBTOOL_DLOPEN]) -AC_REQUIRE([KDE_CHECK_LIB64]) - -AC_OBJEXT -AC_EXEEXT - -AM_PROG_LIBTOOL -AC_LIBTOOL_CXX - -LIBTOOL_SHELL="/bin/sh ./libtool" -# LIBTOOL="$LIBTOOL --silent" -KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_NO_UNDEFINED) \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)" -AC_SUBST(KDE_PLUGIN) - -# This hack ensures that libtool creates shared libs for kunittest plugins. By default check_LTLIBRARIES makes static libs. -KDE_CHECK_PLUGIN="\$(KDE_PLUGIN) -rpath \$(libdir)" -AC_SUBST(KDE_CHECK_PLUGIN) - -# we patch configure quite some so we better keep that consistent for incremental runs -AC_SUBST(AUTOCONF,'$(SHELL) $(top_srcdir)/admin/cvs.sh configure || touch configure') -]) - -AC_DEFUN([KDE_CHECK_LIB64], -[ - kdelibsuff="$kde_libs_suffix" - if test -z "$kdelibsuff"; then - kdelibsuff="auto" - fi - AC_ARG_ENABLE(libsuffix, - AC_HELP_STRING([--enable-libsuffix], - [/lib directory suffix (64,32,none,auto[=default])]), - kdelibsuff=$enableval) - - if test "$kdelibsuff" = "auto"; then - -cat > conftest.c << EOF -#include <stdio.h> -int main() { - return 0; -} -EOF - kdelibsuff=`$CC conftest.c -o conftest.out; ldd conftest.out | grep -E "libc.so"| grep -E -o "/lib[[^\/]]*/" | sed "s/lib//" | sed "s/\/*//g"` - rm -rf conftest.* - fi - - if test "$kdelibsuff" = "no"; then - kdelibsuff= - fi - if test -z "$kdelibsuff"; then - AC_MSG_RESULT([not using lib directory suffix]) - AC_DEFINE(KDELIBSUFF, [""], Suffix for lib directories) - else - if test "$libdir" = '${exec_prefix}/lib'; then - libdir="$libdir${kdelibsuff}" - AC_SUBST([libdir], ["$libdir"]) dnl ugly hack for lib64 platforms - fi - AC_DEFINE_UNQUOTED(KDELIBSUFF, ["${kdelibsuff}"], Suffix for lib directories) - AC_MSG_RESULT([using lib directory suffix $kdelibsuff]) - fi -]) - -AC_DEFUN([KDE_CHECK_TYPES], -[ AC_CHECK_SIZEOF(int, 4)dnl - AC_CHECK_SIZEOF(short)dnl - AC_CHECK_SIZEOF(long, 4)dnl - AC_CHECK_SIZEOF(char *, 4)dnl -])dnl - -dnl Not used - kept for compat only? -AC_DEFUN([KDE_DO_IT_ALL], -[ -AC_CANONICAL_SYSTEM -AC_ARG_PROGRAM -AM_INIT_AUTOMAKE($1, $2) -AM_DISABLE_LIBRARIES -AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) -AC_CHECK_COMPILERS -KDE_PROG_LIBTOOL -AM_KDE_WITH_NLS -AC_PATH_KDE -]) - -AC_DEFUN([AC_CHECK_RPATH], -[ -AC_MSG_CHECKING(for rpath) -AC_ARG_ENABLE(rpath, - AC_HELP_STRING([--disable-rpath],[do not use the rpath feature of ld]), - USE_RPATH=$enableval, USE_RPATH=yes) - -if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then - - KDE_RPATH="-R \$(libdir)" - - if test "$kde_libraries" != "$libdir"; then - KDE_RPATH="$KDE_RPATH -R \$(kde_libraries)" - fi - - if test -n "$qt_libraries"; then - KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)" - fi - dnl $x_libraries is set to /usr/lib in case - if test -n "$X_LDFLAGS"; then - X_RPATH="-R \$(x_libraries)" - KDE_RPATH="$KDE_RPATH $X_RPATH" - fi - if test -n "$KDE_EXTRA_RPATH"; then - KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)" - fi -fi -AC_SUBST(KDE_EXTRA_RPATH) -AC_SUBST(KDE_RPATH) -AC_SUBST(X_RPATH) -AC_MSG_RESULT($USE_RPATH) -]) - -dnl Check for the type of the third argument of getsockname -AC_DEFUN([AC_CHECK_SOCKLEN_T], -[ - AC_MSG_CHECKING(for socklen_t) - AC_CACHE_VAL(kde_cv_socklen_t, - [ - AC_LANG_PUSH(C++) - kde_cv_socklen_t=no - AC_TRY_COMPILE([ - #include <sys/types.h> - #include <sys/socket.h> - ], - [ - socklen_t len; - getpeername(0,0,&len); - ], - [ - kde_cv_socklen_t=yes - kde_cv_socklen_t_equiv=socklen_t - ]) - AC_LANG_POP(C++) - ]) - AC_MSG_RESULT($kde_cv_socklen_t) - if test $kde_cv_socklen_t = no; then - AC_MSG_CHECKING([for socklen_t equivalent for socket functions]) - AC_CACHE_VAL(kde_cv_socklen_t_equiv, - [ - kde_cv_socklen_t_equiv=int - AC_LANG_PUSH(C++) - for t in int size_t unsigned long "unsigned long"; do - AC_TRY_COMPILE([ - #include <sys/types.h> - #include <sys/socket.h> - ], - [ - $t len; - getpeername(0,0,&len); - ], - [ - kde_cv_socklen_t_equiv="$t" - break - ]) - done - AC_LANG_POP(C++) - ]) - AC_MSG_RESULT($kde_cv_socklen_t_equiv) - fi - AC_DEFINE_UNQUOTED(kde_socklen_t, $kde_cv_socklen_t_equiv, - [type to use in place of socklen_t if not defined]) - AC_DEFINE_UNQUOTED(ksize_t, $kde_cv_socklen_t_equiv, - [type to use in place of socklen_t if not defined (deprecated, use kde_socklen_t)]) -]) - -dnl This is a merge of some macros out of the gettext aclocal.m4 -dnl since we don't need anything, I took the things we need -dnl the copyright for them is: -dnl > -dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. -dnl This Makefile.in is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl This program is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without -dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A -dnl PARTICULAR PURPOSE. -dnl > -dnl for this file it is relicensed under LGPL - -AC_DEFUN([AM_KDE_WITH_NLS], - [ - dnl If we use NLS figure out what method - - AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt, - [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - - if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then - AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it]) - GMSGFMT=":" - fi - MSGFMT=$GMSGFMT - AC_SUBST(GMSGFMT) - AC_SUBST(MSGFMT) - - AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) - - dnl Test whether we really found GNU xgettext. - if test "$XGETTEXT" != ":"; then - dnl If it is no GNU xgettext we define it as : so that the - dnl Makefiles still can work. - if $XGETTEXT --omit-header /dev/null 2> /dev/null; then - : ; - else - AC_MSG_RESULT( - [found xgettext programs is not GNU xgettext; ignore it]) - XGETTEXT=":" - fi - fi - AC_SUBST(XGETTEXT) - - ]) - -# Search path for a program which passes the given test. -# Ulrich Drepper <drepper@cygnus.com>, 1996. - -# serial 1 -# Stephan Kulow: I appended a _KDE against name conflicts - -dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR, -dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) -AC_DEFUN([AM_PATH_PROG_WITH_TEST_KDE], -[# Extract the first word of "$2", so it can be a program name with args. -set dummy $2; ac_word=[$]2 -AC_MSG_CHECKING([for $ac_word]) -AC_CACHE_VAL(ac_cv_path_$1, -[case "[$]$1" in - /*) - ac_cv_path_$1="[$]$1" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in ifelse([$5], , $PATH, [$5]); do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" -dnl If no 4th arg is given, leave the cache variable unset, -dnl so AC_PATH_PROGS will keep looking. -ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" -])dnl - ;; -esac])dnl -$1="$ac_cv_path_$1" -if test -n "[$]$1"; then - AC_MSG_RESULT([$]$1) -else - AC_MSG_RESULT(no) -fi -AC_SUBST($1)dnl -]) - - -# Check whether LC_MESSAGES is available in <locale.h>. -# Ulrich Drepper <drepper@cygnus.com>, 1995. - -# serial 1 - -AC_DEFUN([AM_LC_MESSAGES], - [if test $ac_cv_header_locale_h = yes; then - AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, - [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], - am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) - if test $am_cv_val_LC_MESSAGES = yes; then - AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES]) - fi - fi]) - -dnl From Jim Meyering. -dnl FIXME: migrate into libit. - -AC_DEFUN([AM_FUNC_OBSTACK], -[AC_CACHE_CHECK([for obstacks], am_cv_func_obstack, - [AC_TRY_LINK([#include "obstack.h"], - [struct obstack *mem;obstack_free(mem,(char *) 0)], - am_cv_func_obstack=yes, - am_cv_func_obstack=no)]) - if test $am_cv_func_obstack = yes; then - AC_DEFINE(HAVE_OBSTACK) - else - LIBOBJS="$LIBOBJS obstack.o" - fi -]) - -dnl From Jim Meyering. Use this if you use the GNU error.[ch]. -dnl FIXME: Migrate into libit - -AC_DEFUN([AM_FUNC_ERROR_AT_LINE], -[AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line, - [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");], - am_cv_lib_error_at_line=yes, - am_cv_lib_error_at_line=no)]) - if test $am_cv_lib_error_at_line = no; then - LIBOBJS="$LIBOBJS error.o" - fi - AC_SUBST(LIBOBJS)dnl -]) - -# Macro to add for using GNU gettext. -# Ulrich Drepper <drepper@cygnus.com>, 1995. - -# serial 1 -# Stephan Kulow: I put a KDE in it to avoid name conflicts - -AC_DEFUN([AM_KDE_GNU_GETTEXT], - [AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_PROG_RANLIB])dnl - AC_REQUIRE([AC_HEADER_STDC])dnl - AC_REQUIRE([AC_TYPE_OFF_T])dnl - AC_REQUIRE([AC_TYPE_SIZE_T])dnl - AC_REQUIRE([AC_FUNC_ALLOCA])dnl - AC_REQUIRE([AC_FUNC_MMAP])dnl - AC_REQUIRE([AM_KDE_WITH_NLS])dnl - AC_CHECK_HEADERS([limits.h locale.h nl_types.h string.h values.h alloca.h]) - AC_CHECK_FUNCS([getcwd munmap putenv setlocale strchr strcasecmp \ -__argz_count __argz_stringify __argz_next]) - - AC_MSG_CHECKING(for stpcpy) - AC_CACHE_VAL(kde_cv_func_stpcpy, - [ - kde_safe_cxxflags=$CXXFLAGS - CXXFLAGS="-Werror" - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_TRY_COMPILE([ - #include <string.h> - ], - [ - char buffer[200]; - stpcpy(buffer, buffer); - ], - kde_cv_func_stpcpy=yes, - kde_cv_func_stpcpy=no) - AC_LANG_RESTORE - CXXFLAGS=$kde_safe_cxxflags - ]) - AC_MSG_RESULT($kde_cv_func_stpcpy) - if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then - AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy]) - fi - - AM_LC_MESSAGES - - if test "x$CATOBJEXT" != "x"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - AC_MSG_CHECKING(for catalogs to be installed) - NEW_LINGUAS= - for lang in ${LINGUAS=$ALL_LINGUAS}; do - case "$ALL_LINGUAS" in - *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; - esac - done - LINGUAS=$NEW_LINGUAS - AC_MSG_RESULT($LINGUAS) - fi - - dnl Construct list of names of catalog files to be constructed. - if test -n "$LINGUAS"; then - for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done - fi - fi - - ]) - -AC_DEFUN([AC_HAVE_XPM], - [AC_REQUIRE_CPP()dnl - AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) - - test -z "$XPM_LDFLAGS" && XPM_LDFLAGS= - test -z "$XPM_INCLUDE" && XPM_INCLUDE= - - AC_ARG_WITH(xpm,AC_HELP_STRING([--without-xpm],[disable color pixmap XPM tests]), - xpm_test=$withval, xpm_test="yes") - if test "x$xpm_test" = xno; then - ac_cv_have_xpm=no - else - AC_MSG_CHECKING(for XPM) - AC_CACHE_VAL(ac_cv_have_xpm, - [ - ac_save_ldflags="$LDFLAGS" - ac_save_cflags="$CFLAGS" - if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then - LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET" - else - LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET" - fi - CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES" - test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS" - AC_TRY_LINK([#include <X11/xpm.h>],[], - ac_cv_have_xpm="yes",ac_cv_have_xpm="no") - LDFLAGS="$ac_save_ldflags" - CFLAGS="$ac_save_cflags" - ])dnl - - if test "$ac_cv_have_xpm" = no; then - AC_MSG_RESULT(no) - XPM_LDFLAGS="" - XPMINC="" - $2 - else - AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support]) - if test "$XPM_LDFLAGS" = ""; then - XPMLIB='-lXpm $(LIB_X11)' - else - XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)' - fi - if test "$XPM_INCLUDE" = ""; then - XPMINC="" - else - XPMINC="-I$XPM_INCLUDE" - fi - AC_MSG_RESULT(yes) - $1 - fi - fi - AC_SUBST(XPMINC) - AC_SUBST(XPMLIB) -]) - -AC_DEFUN([AC_HAVE_DPMS], - [AC_REQUIRE_CPP()dnl - AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) - - test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS= - test -z "$DPMS_INCLUDE" && DPMS_INCLUDE= - DPMS_LIB= - - AC_ARG_WITH(dpms,AC_HELP_STRING([--without-dpms],[disable DPMS power saving]), - dpms_test=$withval, dpms_test="yes") - if test "x$dpms_test" = xno; then - ac_cv_have_dpms=no - else - AC_MSG_CHECKING(for DPMS) - dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms. - dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms". - AC_CACHE_VAL(ac_cv_have_dpms, - [ - if test "x$kde_use_qt_emb" = "xyes" || test "x$kde_use_qt_mac" = "xyes"; then - AC_MSG_RESULT(no) - ac_cv_have_dpms="no" - else - ac_save_ldflags="$LDFLAGS" - ac_save_cflags="$CFLAGS" - ac_save_libs="$LIBS" - LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries" - LIBS="-lX11 -lXext $LIBSOCKET" - CFLAGS="$CFLAGS $X_INCLUDES" - test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" - AC_TRY_LINK([ - #include <X11/Xproto.h> - #include <X11/X.h> - #include <X11/Xlib.h> - #include <X11/extensions/dpms.h> - int foo_test_dpms() - { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[], - ac_cv_have_dpms="yes", [ - LIBS="-lXdpms $LIBS" - AC_TRY_LINK([ - #include <X11/Xproto.h> - #include <X11/X.h> - #include <X11/Xlib.h> - #include <X11/extensions/dpms.h> - int foo_test_dpms() - { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[], - [ - ac_cv_have_dpms="-lXdpms" - ],ac_cv_have_dpms="no") - ]) - LDFLAGS="$ac_save_ldflags" - CFLAGS="$ac_save_cflags" - LIBS="$ac_save_libs" - fi - ])dnl - - if test "$ac_cv_have_dpms" = no; then - AC_MSG_RESULT(no) - DPMS_LDFLAGS="" - DPMSINC="" - $2 - else - AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support]) - if test "$ac_cv_have_dpms" = "-lXdpms"; then - DPMS_LIB="-lXdpms" - fi - if test "$DPMS_LDFLAGS" = ""; then - DPMSLIB="$DPMS_LIB "'$(LIB_X11)' - else - DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)' - fi - if test "$DPMS_INCLUDE" = ""; then - DPMSINC="" - else - DPMSINC="-I$DPMS_INCLUDE" - fi - AC_MSG_RESULT(yes) - $1 - fi - fi - ac_save_cflags="$CFLAGS" - CFLAGS="$CFLAGS $X_INCLUDES" - test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" - AH_TEMPLATE(HAVE_DPMSCAPABLE_PROTO, - [Define if you have the DPMSCapable prototype in <X11/extensions/dpms.h>]) - AC_CHECK_DECL(DPMSCapable, - AC_DEFINE(HAVE_DPMSCAPABLE_PROTO),, - [#include <X11/Xlib.h> - #include <X11/extensions/dpms.h>]) - AH_TEMPLATE(HAVE_DPMSINFO_PROTO, - [Define if you have the DPMSInfo prototype in <X11/extensions/dpms.h>]) - AC_CHECK_DECL(DPMSInfo, - AC_DEFINE(HAVE_DPMSINFO_PROTO),, - [#include <X11/Xlib.h> - #include <X11/extensions/dpms.h>]) - CFLAGS="$ac_save_cflags" - AC_SUBST(DPMSINC) - AC_SUBST(DPMSLIB) -]) - -AC_DEFUN([AC_HAVE_GL], - [AC_REQUIRE_CPP()dnl - AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) - - test -z "$GL_LDFLAGS" && GL_LDFLAGS= - test -z "$GL_INCLUDE" && GL_INCLUDE= - - AC_ARG_WITH(gl,AC_HELP_STRING([--without-gl],[disable 3D GL modes]), - gl_test=$withval, gl_test="yes") - if test "x$kde_use_qt_emb" = "xyes"; then - # GL and Qt Embedded is a no-go for now. - ac_cv_have_gl=no - elif test "x$gl_test" = xno; then - ac_cv_have_gl=no - else - AC_MSG_CHECKING(for GL) - AC_CACHE_VAL(ac_cv_have_gl, - [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - ac_save_ldflags=$LDFLAGS - ac_save_cxxflags=$CXXFLAGS - ac_save_libs=$LIBS - LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries" - LIBS="$LIBS -lGL -lGLU" - test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LIBS="$LIBS -lX11" - LIBS="$LIBS $LIB_XEXT -lm $LIBSOCKET" - CXXFLAGS="$CFLAGS $X_INCLUDES" - test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS" - AC_TRY_LINK([#include <GL/gl.h> -#include <GL/glu.h> -], [], - ac_cv_have_gl="yes", ac_cv_have_gl="no") - AC_LANG_RESTORE - LDFLAGS=$ac_save_ldflags - CXXFLAGS=$ac_save_cxxflags - LIBS=$ac_save_libs - ])dnl - - if test "$ac_cv_have_gl" = "no"; then - AC_MSG_RESULT(no) - GL_LDFLAGS="" - GLINC="" - $2 - else - AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)]) - if test "$GL_LDFLAGS" = ""; then - GLLIB='-lGLU -lGL $(LIB_X11)' - else - GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)' - fi - if test "$GL_INCLUDE" = ""; then - GLINC="" - else - GLINC="-I$GL_INCLUDE" - fi - AC_MSG_RESULT($ac_cv_have_gl) - $1 - fi - fi - AC_SUBST(GLINC) - AC_SUBST(GLLIB) -]) - - - dnl shadow password and PAM magic - maintained by ossi@kde.org - -AC_DEFUN([KDE_PAM], [ - AC_REQUIRE([KDE_CHECK_LIBDL]) - - want_pam= - AC_ARG_WITH(pam, - AC_HELP_STRING([--with-pam[=ARG]],[enable support for PAM: ARG=[yes|no|service name]]), - [ if test "x$withval" = "xyes"; then - want_pam=yes - pam_service=kde - elif test "x$withval" = "xno"; then - want_pam=no - else - want_pam=yes - pam_service=$withval - fi - ], [ pam_service=kde ]) - - use_pam= - PAMLIBS= - if test "x$want_pam" != xno; then - AC_CHECK_LIB(pam, pam_start, [ - AC_CHECK_HEADER(security/pam_appl.h, - [ pam_header=security/pam_appl.h ], - [ AC_CHECK_HEADER(pam/pam_appl.h, - [ pam_header=pam/pam_appl.h ], - [ - AC_MSG_WARN([PAM detected, but no headers found! -Make sure you have the necessary development packages installed.]) - ] - ) - ] - ) - ], , $LIBDL) - if test -z "$pam_header"; then - if test "x$want_pam" = xyes; then - AC_MSG_ERROR([--with-pam was specified, but cannot compile with PAM!]) - fi - else - AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)]) - PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL" - use_pam=yes - - dnl darwin claims to be something special - if test "$pam_header" = "pam/pam_appl.h"; then - AC_DEFINE(HAVE_PAM_PAM_APPL_H, 1, [Define if your PAM headers are in pam/ instead of security/]) - fi - - dnl test whether struct pam_message is const (Linux) or not (Sun) - AC_MSG_CHECKING(for const pam_message) - AC_EGREP_HEADER([struct pam_message], $pam_header, - [ AC_EGREP_HEADER([const struct pam_message], $pam_header, - [AC_MSG_RESULT([const: Linux-type PAM])], - [AC_MSG_RESULT([nonconst: Sun-type PAM]) - AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])] - )], - [AC_MSG_RESULT([not found - assume const, Linux-type PAM])]) - fi - fi - - AC_SUBST(PAMLIBS) -]) - -dnl DEF_PAM_SERVICE(arg name, full name, define name) -AC_DEFUN([DEF_PAM_SERVICE], [ - AC_ARG_WITH($1-pam, - AC_HELP_STRING([--with-$1-pam=[val]],[override PAM service from --with-pam for $2]), - [ if test "x$use_pam" = xyes; then - $3_PAM_SERVICE=$withval - else - AC_MSG_ERROR([Cannot use use --with-$1-pam, as no PAM was detected. -You may want to enforce it by using --with-pam.]) - fi - ], - [ if test "x$use_pam" = xyes; then - $3_PAM_SERVICE="$pam_service" - fi - ]) - if test -n "$$3_PAM_SERVICE"; then - AC_MSG_RESULT([The PAM service used by $2 will be $$3_PAM_SERVICE]) - AC_DEFINE_UNQUOTED($3_PAM_SERVICE, "$$3_PAM_SERVICE", [The PAM service to be used by $2]) - fi - AC_SUBST($3_PAM_SERVICE) -]) - -AC_DEFUN([KDE_SHADOWPASSWD], [ - AC_REQUIRE([KDE_PAM]) - - AC_CHECK_LIB(shadow, getspent, - [ LIBSHADOW="-lshadow" - ac_use_shadow=yes - ], - [ dnl for UnixWare - AC_CHECK_LIB(gen, getspent, - [ LIBGEN="-lgen" - ac_use_shadow=yes - ], - [ AC_CHECK_FUNC(getspent, - [ ac_use_shadow=yes ], - [ ac_use_shadow=no ]) - ]) - ]) - AC_SUBST(LIBSHADOW) - AC_SUBST(LIBGEN) - - AC_MSG_CHECKING([for shadow passwords]) - - AC_ARG_WITH(shadow, - AC_HELP_STRING([--with-shadow],[If you want shadow password support]), - [ if test "x$withval" != "xno"; then - use_shadow=yes - else - use_shadow=no - fi - ], [ - use_shadow="$ac_use_shadow" - ]) - - if test "x$use_shadow" = xyes; then - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_SHADOW, 1, [Define if you use shadow passwords]) - else - AC_MSG_RESULT(no) - LIBSHADOW= - LIBGEN= - fi - - dnl finally make the relevant binaries setuid root, if we have shadow passwds. - dnl this still applies, if we could use it indirectly through pam. - if test "x$use_shadow" = xyes || - ( test "x$use_pam" = xyes && test "x$ac_use_shadow" = xyes ); then - case $host in - *-*-freebsd* | *-*-netbsd* | *-*-openbsd*) - SETUIDFLAGS="-m 4755 -o root";; - *) - SETUIDFLAGS="-m 4755";; - esac - fi - AC_SUBST(SETUIDFLAGS) - -]) - -AC_DEFUN([KDE_PASSWDLIBS], [ - AC_REQUIRE([KDE_MISC_TESTS]) dnl for LIBCRYPT - AC_REQUIRE([KDE_PAM]) - AC_REQUIRE([KDE_SHADOWPASSWD]) - - if test "x$use_pam" = "xyes"; then - PASSWDLIBS="$PAMLIBS" - else - PASSWDLIBS="$LIBCRYPT $LIBSHADOW $LIBGEN" - fi - - dnl FreeBSD uses a shadow-like setup, where /etc/passwd holds the users, but - dnl /etc/master.passwd holds the actual passwords. /etc/master.passwd requires - dnl root to read, so kcheckpass needs to be root (even when using pam, since pam - dnl may need to read /etc/master.passwd). - case $host in - *-*-freebsd*) - SETUIDFLAGS="-m 4755 -o root" - ;; - *) - ;; - esac - - AC_SUBST(PASSWDLIBS) -]) - -AC_DEFUN([KDE_CHECK_LIBDL], -[ -AC_CHECK_LIB(dl, dlopen, [ -LIBDL="-ldl" -ac_cv_have_dlfcn=yes -]) - -AC_CHECK_LIB(dld, shl_unload, [ -LIBDL="-ldld" -ac_cv_have_shload=yes -]) - -AC_SUBST(LIBDL) -]) - -AC_DEFUN([KDE_CHECK_DLOPEN], -[ -KDE_CHECK_LIBDL -AC_CHECK_HEADERS(dlfcn.h dl.h) -if test "$ac_cv_header_dlfcn_h" = "no"; then - ac_cv_have_dlfcn=no -fi - -if test "$ac_cv_header_dl_h" = "no"; then - ac_cv_have_shload=no -fi - -dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE -dnl (MM) -AC_ARG_ENABLE(dlopen, -AC_HELP_STRING([--disable-dlopen],[link statically [default=no]]), -enable_dlopen=$enableval, -enable_dlopen=yes) - -# override the user's opinion, if we know it better ;) -if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then - enable_dlopen=no -fi - -if test "$ac_cv_have_dlfcn" = "yes"; then - AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn]) -fi - -if test "$ac_cv_have_shload" = "yes"; then - AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload]) -fi - -if test "$enable_dlopen" = no ; then - test -n "$1" && eval $1 -else - test -n "$2" && eval $2 -fi - -]) - -AC_DEFUN([KDE_CHECK_DYNAMIC_LOADING], -[ -KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no) -KDE_PROG_LIBTOOL -AC_MSG_CHECKING([dynamic loading]) -eval "`egrep '^build_libtool_libs=' libtool`" -if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then - dynamic_loading=yes - AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING) -else - dynamic_loading=no -fi -AC_MSG_RESULT($dynamic_loading) -if test "$dynamic_loading" = "yes"; then - $1 -else - $2 -fi -]) - -AC_DEFUN([KDE_ADD_INCLUDES], -[ -if test -z "$1"; then - test_include="Pix.h" -else - test_include="$1" -fi - -AC_MSG_CHECKING([for libg++ ($test_include)]) - -AC_CACHE_VAL(kde_cv_libgpp_includes, -[ -kde_cv_libgpp_includes=no - - for ac_dir in \ - \ - /usr/include/g++ \ - /usr/include \ - /usr/unsupported/include \ - /opt/include \ - $extra_include \ - ; \ - do - if test -r "$ac_dir/$test_include"; then - kde_cv_libgpp_includes=$ac_dir - break - fi - done -]) - -AC_MSG_RESULT($kde_cv_libgpp_includes) -if test "$kde_cv_libgpp_includes" != "no"; then - all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES" -fi -]) -]) - -AC_DEFUN([KDE_CHECK_LIBPTHREAD], -[ - dnl This code is here specifically to handle the - dnl various flavors of threading library on FreeBSD - dnl 4-, 5-, and 6-, and the (weird) rules around it. - dnl There may be an environment PTHREAD_LIBS that - dnl specifies what to use; otherwise, search for it. - dnl -pthread is special cased and unsets LIBPTHREAD - dnl below if found. - LIBPTHREAD="" - - if test -n "$PTHREAD_LIBS"; then - if test "x$PTHREAD_LIBS" = "x-pthread" ; then - LIBPTHREAD="PTHREAD" - else - PTHREAD_LIBS_save="$PTHREAD_LIBS" - PTHREAD_LIBS=`echo "$PTHREAD_LIBS_save" | sed -e 's,^-l,,g'` - AC_MSG_CHECKING([for pthread_create in $PTHREAD_LIBS]) - KDE_CHECK_LIB($PTHREAD_LIBS, pthread_create, [ - LIBPTHREAD="$PTHREAD_LIBS_save"]) - PTHREAD_LIBS="$PTHREAD_LIBS_save" - fi - fi - - dnl Is this test really needed, in the face of the Tru64 test below? - if test -z "$LIBPTHREAD"; then - AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"]) - fi - - dnl This is a special Tru64 check, see BR 76171 issue #18. - if test -z "$LIBPTHREAD" ; then - AC_MSG_CHECKING([for pthread_create in -lpthread]) - kde_safe_libs=$LIBS - LIBS="$LIBS -lpthread" - AC_TRY_LINK([#include <pthread.h>],[(void)pthread_create(0,0,0,0);],[ - AC_MSG_RESULT(yes) - LIBPTHREAD="-lpthread"],[ - AC_MSG_RESULT(no)]) - LIBS=$kde_safe_libs - fi - - dnl Un-special-case for FreeBSD. - if test "x$LIBPTHREAD" = "xPTHREAD" ; then - LIBPTHREAD="" - fi - - AC_SUBST(LIBPTHREAD) -]) - -AC_DEFUN([KDE_CHECK_PTHREAD_OPTION], -[ - USE_THREADS="" - if test -z "$LIBPTHREAD"; then - KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-D_THREAD_SAFE -pthread"]) - fi - - AH_VERBATIM(__svr_define, [ -#if defined(__SVR4) && !defined(__svr4__) -#define __svr4__ 1 -#endif -]) - case $host_os in - solaris*) - KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"]) - CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4" - ;; - freebsd*) - CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE $PTHREAD_CFLAGS" - ;; - aix*) - CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" - LIBPTHREAD="$LIBPTHREAD -lc_r" - ;; - linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" - if test "$CXX" = "KCC"; then - CXXFLAGS="$CXXFLAGS --thread_safe" - NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe" - fi - ;; - *) - ;; - esac - AC_SUBST(USE_THREADS) - AC_SUBST(LIBPTHREAD) -]) - -AC_DEFUN([KDE_CHECK_THREADING], -[ - AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) - AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION]) - dnl default is yes if libpthread is found and no if no libpthread is available - if test -z "$LIBPTHREAD"; then - if test -z "$USE_THREADS"; then - kde_check_threading_default=no - else - kde_check_threading_default=yes - fi - else - kde_check_threading_default=yes - fi - AC_ARG_ENABLE(threading,AC_HELP_STRING([--disable-threading],[disables threading even if libpthread found]), - kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default) - if test "x$kde_use_threading" = "xyes"; then - AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)]) - fi -]) - -AC_DEFUN([KDE_TRY_LINK_PYTHON], -[ -if test "$kde_python_link_found" = no; then - -if test "$1" = normal; then - AC_MSG_CHECKING(if a Python application links) -else - AC_MSG_CHECKING(if Python depends on $2) -fi - -AC_CACHE_VAL(kde_cv_try_link_python_$1, -[ -kde_save_cflags="$CFLAGS" -CFLAGS="$CFLAGS $PYTHONINC" -kde_save_libs="$LIBS" -LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET" -kde_save_ldflags="$LDFLAGS" -LDFLAGS="$LDFLAGS $PYTHONLIB" - -AC_TRY_LINK( -[ -#include <Python.h> -],[ - PySys_SetArgv(1, 0); -], - [kde_cv_try_link_python_$1=yes], - [kde_cv_try_link_python_$1=no] -) -CFLAGS="$kde_save_cflags" -LIBS="$kde_save_libs" -LDFLAGS="$kde_save_ldflags" -]) - -if test "$kde_cv_try_link_python_$1" = "yes"; then - AC_MSG_RESULT(yes) - kde_python_link_found=yes - if test ! "$1" = normal; then - LIBPYTHON="$LIBPYTHON $2" - fi - $3 -else - AC_MSG_RESULT(no) - $4 -fi - -fi - -]) - -AC_DEFUN([KDE_CHECK_PYTHON_DIR], -[ -AC_MSG_CHECKING([for Python directory]) - -AC_CACHE_VAL(kde_cv_pythondir, -[ - if test -z "$PYTHONDIR"; then - kde_cv_pythondir=/usr/local - else - kde_cv_pythondir="$PYTHONDIR" - fi -]) - -AC_ARG_WITH(pythondir, -AC_HELP_STRING([--with-pythondir=pythondir],[use python installed in pythondir]), -[ - ac_python_dir=$withval -], ac_python_dir=$kde_cv_pythondir -) - -AC_MSG_RESULT($ac_python_dir) -]) - -AC_DEFUN([KDE_CHECK_PYTHON_INTERN], -[ -AC_REQUIRE([KDE_CHECK_LIBDL]) -AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) -AC_REQUIRE([KDE_CHECK_PYTHON_DIR]) - -if test -z "$1"; then - version="1.5" -else - version="$1" -fi - -AC_MSG_CHECKING([for Python$version]) - -python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes" -AC_FIND_FILE(Python.h, $python_incdirs, python_incdir) -if test ! -r $python_incdir/Python.h; then - AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir) - python_incdir=$python_incdir/python$version - if test ! -r $python_incdir/Python.h; then - python_incdir=no - fi -fi - -PYTHONINC=-I$python_incdir - -python_libdirs="$ac_python_dir/lib$kdelibsuff /usr/lib$kdelibsuff /usr/local /usr/lib$kdelibsuff $kde_extra_libs" -AC_FIND_FILE(libpython$version.so, $python_libdirs, python_libdir) -if test ! -r $python_libdir/libpython$version.so; then - AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir) - if test ! -r $python_libdir/libpython$version.a; then - AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir) - python_libdir=$python_libdir/python$version/config - if test ! -r $python_libdir/libpython$version.a; then - python_libdir=no - fi - fi -fi - -PYTHONLIB=-L$python_libdir -kde_orig_LIBPYTHON=$LIBPYTHON -if test -z "$LIBPYTHON"; then - LIBPYTHON=-lpython$version -fi - -AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir) -python_moddir=$python_moddir/python$version -if test ! -r $python_moddir/copy.py; then - python_moddir=no -fi - -PYTHONMODDIR=$python_moddir - -AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir) - -if test x$python_incdir = xno || test x$python_libdir = xno || test x$python_moddir = xno; then - LIBPYTHON=$kde_orig_LIBPYTHON - test "x$PYTHONLIB" = "x-Lno" && PYTHONLIB="" - test "x$PYTHONINC" = "x-Ino" && PYTHONINC="" - $2 -else - dnl Note: this test is very weak - kde_python_link_found=no - KDE_TRY_LINK_PYTHON(normal) - KDE_TRY_LINK_PYTHON(m, -lm) - KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD) - KDE_TRY_LINK_PYTHON(tcl, -ltcl) - KDE_TRY_LINK_PYTHON(db2, -ldb2) - KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm]) - KDE_TRY_LINK_PYTHON(m_and_thread_and_util, [$LIBPTHREAD -lm -lutil]) - KDE_TRY_LINK_PYTHON(m_and_thread_and_db3, [$LIBPTHREAD -lm -ldb-3 -lutil]) - KDE_TRY_LINK_PYTHON(pthread_and_db3, [$LIBPTHREAD -ldb-3]) - KDE_TRY_LINK_PYTHON(m_and_thread_and_db, [$LIBPTHREAD -lm -ldb -ltermcap -lutil]) - KDE_TRY_LINK_PYTHON(pthread_and_dl, [$LIBPTHREAD $LIBDL -lutil -lreadline -lncurses -lm]) - KDE_TRY_LINK_PYTHON(pthread_and_panel_curses, [$LIBPTHREAD $LIBDL -lm -lpanel -lcurses]) - KDE_TRY_LINK_PYTHON(m_and_thread_and_db_special, [$LIBPTHREAD -lm -ldb -lutil], [], - [AC_MSG_WARN([it seems, Python depends on another library. - Please set LIBPYTHON to '-lpython$version -lotherlib' before calling configure to fix this - and contact the authors to let them know about this problem]) - ]) - - LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET" - AC_SUBST(PYTHONINC) - AC_SUBST(PYTHONLIB) - AC_SUBST(LIBPYTHON) - AC_SUBST(PYTHONMODDIR) - AC_DEFINE(HAVE_PYTHON, 1, [Define if you have the development files for python]) -fi - -]) - - -AC_DEFUN([KDE_CHECK_PYTHON], -[ - KDE_CHECK_PYTHON_INTERN("2.4", - [KDE_CHECK_PYTHON_INTERN("2.3", - [KDE_CHECK_PYTHON_INTERN("2.2", - [KDE_CHECK_PYTHON_INTERN("2.1", - [KDE_CHECK_PYTHON_INTERN("2.0", - [KDE_CHECK_PYTHON_INTERN($1, $2) ]) - ]) - ]) - ]) - ]) -]) - -AC_DEFUN([KDE_CHECK_STL], -[ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`" - - AC_MSG_CHECKING([if C++ programs can be compiled]) - AC_CACHE_VAL(kde_cv_stl_works, - [ - AC_TRY_COMPILE([ -#include <string> -using namespace std; -],[ - string astring="Hallo Welt."; - astring.erase(0, 6); // now astring is "Welt" - return 0; -], kde_cv_stl_works=yes, - kde_cv_stl_works=no) -]) - - AC_MSG_RESULT($kde_cv_stl_works) - - if test "$kde_cv_stl_works" = "yes"; then - # back compatible - AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI]) - else - AC_MSG_ERROR([Your Installation isn't able to compile simple C++ programs. -Check config.log for details - if you're using a Linux distribution you might miss -a package named similar to libstdc++-dev.]) - fi - - CXXFLAGS="$ac_save_CXXFLAGS" - AC_LANG_RESTORE -]) - -AC_DEFUN([AC_FIND_QIMGIO], - [AC_REQUIRE([AC_FIND_JPEG]) -AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) -AC_MSG_CHECKING([for qimgio]) -AC_CACHE_VAL(ac_cv_lib_qimgio, -[ -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -ac_save_LIBS="$LIBS" -ac_save_CXXFLAGS="$CXXFLAGS" -LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT" -CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes" -AC_TRY_RUN(dnl -[ -#include <qimageio.h> -#include <qstring.h> -int main() { - QString t = "hallo"; - t.fill('t'); - qInitImageIO(); -} -], - ac_cv_lib_qimgio=yes, - ac_cv_lib_qimgio=no, - ac_cv_lib_qimgio=no) -LIBS="$ac_save_LIBS" -CXXFLAGS="$ac_save_CXXFLAGS" -AC_LANG_RESTORE -])dnl -if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then - LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG" - AC_MSG_RESULT(yes) - AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available]) - AC_SUBST(LIBQIMGIO) -else - AC_MSG_RESULT(not found) -fi -]) - -AC_DEFUN([AM_DISABLE_LIBRARIES], -[ - AC_PROVIDE([AM_ENABLE_STATIC]) - AC_PROVIDE([AM_ENABLE_SHARED]) - enable_static=no - enable_shared=yes -]) - - -AC_DEFUN([AC_CHECK_UTMP_FILE], -[ - AC_MSG_CHECKING([for utmp file]) - - AC_CACHE_VAL(kde_cv_utmp_file, - [ - kde_cv_utmp_file=no - - for ac_file in \ - \ - /var/run/utmp \ - /var/adm/utmp \ - /etc/utmp \ - ; \ - do - if test -r "$ac_file"; then - kde_cv_utmp_file=$ac_file - break - fi - done - ]) - - if test "$kde_cv_utmp_file" != "no"; then - AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries]) - $1 - AC_MSG_RESULT($kde_cv_utmp_file) - else - $2 - AC_MSG_RESULT([non found]) - fi -]) - - -AC_DEFUN([KDE_CREATE_SUBDIRSLIST], -[ - -DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin" -TOPSUBDIRS="" - -if test ! -s $srcdir/subdirs; then - dnl Note: Makefile.common creates subdirs, so this is just a fallback - files=`cd $srcdir && ls -1` - dirs=`for i in $files; do if test -d $i; then echo $i; fi; done` - for i in $dirs; do - echo $i >> $srcdir/subdirs - done -fi - -ac_topsubdirs= -if test -s $srcdir/inst-apps; then - ac_topsubdirs="`cat $srcdir/inst-apps`" -elif test -s $srcdir/subdirs; then - ac_topsubdirs="`cat $srcdir/subdirs`" -fi - -for i in $ac_topsubdirs; do - AC_MSG_CHECKING([if $i should be compiled]) - if test -d $srcdir/$i; then - install_it="yes" - for j in $DO_NOT_COMPILE; do - if test $i = $j; then - install_it="no" - fi - done - else - install_it="no" - fi - AC_MSG_RESULT($install_it) - vari=`echo $i | sed -e 's,[[-+.@]],_,g'` - if test $install_it = "yes"; then - TOPSUBDIRS="$TOPSUBDIRS $i" - eval "$vari""_SUBDIR_included=yes" - else - eval "$vari""_SUBDIR_included=no" - fi -done - -AC_SUBST(TOPSUBDIRS) -]) - -AC_DEFUN([KDE_CHECK_NAMESPACES], -[ -AC_MSG_CHECKING(whether C++ compiler supports namespaces) -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -AC_TRY_COMPILE([ -], -[ -namespace Foo { - extern int i; - namespace Bar { - extern int i; - } -} - -int Foo::i = 0; -int Foo::Bar::i = 1; -],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_NAMESPACES) -], [ -AC_MSG_RESULT(no) -]) -AC_LANG_RESTORE -]) - -dnl ------------------------------------------------------------------------ -dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure@kde.org -dnl ------------------------------------------------------------------------ -dnl -AC_DEFUN([AC_CHECK_S_ISSOCK], -[ -AC_MSG_CHECKING(for S_ISSOCK) -AC_CACHE_VAL(ac_cv_have_s_issock, -[ -AC_TRY_LINK( -[ -#include <sys/stat.h> -], -[ -struct stat buff; -int b = S_ISSOCK( buff.st_mode ); -], -ac_cv_have_s_issock=yes, -ac_cv_have_s_issock=no) -]) -AC_MSG_RESULT($ac_cv_have_s_issock) -if test "$ac_cv_have_s_issock" = "yes"; then - AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.]) -fi - -AH_VERBATIM(_ISSOCK, -[ -#ifndef HAVE_S_ISSOCK -#define HAVE_S_ISSOCK -#define S_ISSOCK(mode) (1==0) -#endif -]) - -]) - -dnl ------------------------------------------------------------------------ -dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure@kde.org -dnl ------------------------------------------------------------------------ -dnl -AC_DEFUN([AC_CHECK_KDEMAXPATHLEN], -[ -AC_MSG_CHECKING(for MAXPATHLEN) -AC_CACHE_VAL(ac_cv_maxpathlen, -[ -cat > conftest.$ac_ext <<EOF -#ifdef STDC_HEADERS -# include <stdlib.h> -#endif -#include <stdio.h> -#include <sys/param.h> -#ifndef MAXPATHLEN -#define MAXPATHLEN 1024 -#endif - -KDE_HELLO MAXPATHLEN - -EOF - -ac_try="$ac_cpp conftest.$ac_ext 2>/dev/null | grep '^KDE_HELLO' >conftest.out" - -if AC_TRY_EVAL(ac_try) && test -s conftest.out; then - ac_cv_maxpathlen=`sed 's#KDE_HELLO ##' conftest.out` -else - ac_cv_maxpathlen=1024 -fi - -rm conftest.* - -]) -AC_MSG_RESULT($ac_cv_maxpathlen) -AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] ) -]) - -AC_DEFUN([KDE_CHECK_HEADER], -[ - kde_safe_cppflags=$CPPFLAGS - CPPFLAGS="$CPPFLAGS $all_includes" - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_CHECK_HEADER([$1], [$2], [$3], [$4]) - AC_LANG_RESTORE - CPPFLAGS=$kde_safe_cppflags -]) - -AC_DEFUN([KDE_CHECK_HEADERS], -[ - AH_CHECK_HEADERS([$1]) - AC_LANG_SAVE - kde_safe_cppflags=$CPPFLAGS - CPPFLAGS="$CPPFLAGS $all_includes" - AC_LANG_CPLUSPLUS - AC_CHECK_HEADERS([$1], [$2], [$3], [$4]) - CPPFLAGS=$kde_safe_cppflags - AC_LANG_RESTORE -]) - -AC_DEFUN([KDE_FAST_CONFIGURE], -[ - dnl makes configure fast (needs perl) - AC_ARG_ENABLE(fast-perl, AC_HELP_STRING([--disable-fast-perl],[disable fast Makefile generation (needs perl)]), - with_fast_perl=$enableval, with_fast_perl=yes) -]) - -AC_DEFUN([KDE_CONF_FILES], -[ - val= - if test -f $srcdir/configure.files ; then - val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files` - fi - CONF_FILES= - if test -n "$val" ; then - for i in $val ; do - CONF_FILES="$CONF_FILES $i" - done - fi - AC_SUBST(CONF_FILES) -])dnl - -dnl This sets the prefix, for arts and kdelibs -dnl Do NOT use in any other module. -dnl It only looks at --prefix, KDEDIR and falls back to /usr/local/kde -AC_DEFUN([KDE_SET_PREFIX_CORE], -[ - unset CDPATH - dnl make $KDEDIR the default for the installation - AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) - - if test "x$prefix" = "xNONE"; then - prefix=$ac_default_prefix - ac_configure_args="$ac_configure_args --prefix=$prefix" - fi - # And delete superfluous '/' to make compares easier - prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` - exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` - - kde_libs_prefix='$(prefix)' - kde_libs_htmldir='$(kde_htmldir)' - AC_SUBST(kde_libs_prefix) - AC_SUBST(kde_libs_htmldir) - KDE_FAST_CONFIGURE - KDE_CONF_FILES -]) - - -AC_DEFUN([KDE_SET_PREFIX], -[ - unset CDPATH - dnl We can't give real code to that macro, only a value. - dnl It only matters for --help, since we set the prefix in this function anyway. - AC_PREFIX_DEFAULT(${KDEDIR:-the kde prefix}) - - KDE_SET_DEFAULT_BINDIRS - if test "x$prefix" = "xNONE"; then - dnl no prefix given: look for kde-config in the PATH and deduce the prefix from it - KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend) - else - dnl prefix given: look for kde-config, preferrably in prefix, otherwise in PATH - kde_save_PATH="$PATH" - PATH="$exec_prefix/bin:$prefix/bin:$PATH" - KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend) - PATH="$kde_save_PATH" - fi - - kde_libs_prefix=`$KDECONFIG --prefix` - if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then - AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs. - This means it has been moved since you installed it. - This won't work. Please recompile kdelibs for the new prefix. - ]) - fi - kde_libs_htmldir=`$KDECONFIG --install html --expandvars` - kde_libs_suffix=`$KDECONFIG --libsuffix` - - AC_MSG_CHECKING([where to install]) - if test "x$prefix" = "xNONE"; then - prefix=$kde_libs_prefix - AC_MSG_RESULT([$prefix (as returned by kde-config)]) - else - dnl --prefix was given. Compare prefixes and warn (in configure.in.bot.end) if different - given_prefix=$prefix - AC_MSG_RESULT([$prefix (as requested)]) - fi - - # And delete superfluous '/' to make compares easier - prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` - exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` - given_prefix=`echo "$given_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` - - AC_SUBST(KDECONFIG) - AC_SUBST(kde_libs_prefix) - AC_SUBST(kde_libs_htmldir) - - KDE_FAST_CONFIGURE - KDE_CONF_FILES -]) - -pushdef([AC_PROG_INSTALL], -[ - dnl our own version, testing for a -p flag - popdef([AC_PROG_INSTALL]) - dnl as AC_PROG_INSTALL works as it works we first have - dnl to save if the user didn't specify INSTALL, as the - dnl autoconf one overwrites INSTALL and we have no chance to find - dnl out afterwards - test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL - test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM - test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT - AC_PROG_INSTALL - - if test -z "$kde_save_INSTALL_given" ; then - # OK, user hasn't given any INSTALL, autoconf found one for us - # now we test, if it supports the -p flag - AC_MSG_CHECKING(for -p flag to install) - rm -f confinst.$$.* > /dev/null 2>&1 - echo "Testtest" > confinst.$$.orig - ac_res=no - if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then - if test -f confinst.$$.new ; then - # OK, -p seems to do no harm to install - INSTALL="${INSTALL} -p" - ac_res=yes - fi - fi - rm -f confinst.$$.* - AC_MSG_RESULT($ac_res) - fi - dnl the following tries to resolve some signs and wonders coming up - dnl with different autoconf/automake versions - dnl e.g.: - dnl *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s - dnl and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS) - dnl it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s - dnl *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has - dnl INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the - dnl install-@DIR@PROGRAMS targets to explicitly use that flag - dnl *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as - dnl INSTALL_SCRIPT, which breaks with automake <= 1.4 - dnl *autoconf >2.13 (since 10.Apr 1999) has not that failure - dnl *sometimes KDE does not use the install-@DIR@PROGRAM targets from - dnl automake (due to broken Makefile.am or whatever) to install programs, - dnl and so does not see the -s flag in automake > 1.4 - dnl to clean up that mess we: - dnl +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG - dnl which cleans KDE's program with automake > 1.4; - dnl +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems - dnl with automake<=1.4 - dnl note that dues to this sometimes two '-s' flags are used (if KDE - dnl properly uses install-@DIR@PROGRAMS, but I don't care - dnl - dnl And to all this comes, that I even can't write in comments variable - dnl names used by automake, because it is so stupid to think I wanted to - dnl _use_ them, therefor I have written A_M_... instead of AM_ - dnl hmm, I wanted to say something ... ahh yes: Arghhh. - - if test -z "$kde_save_INSTALL_PROGRAM_given" ; then - INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)' - fi - if test -z "$kde_save_INSTALL_SCRIPT_given" ; then - INSTALL_SCRIPT='${INSTALL}' - fi -])dnl - -AC_DEFUN([KDE_LANG_CPLUSPLUS], -[AC_LANG_CPLUSPLUS -ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC' -pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS]) -]) - -pushdef([AC_LANG_CPLUSPLUS], -[popdef([AC_LANG_CPLUSPLUS]) -KDE_LANG_CPLUSPLUS -]) - -AC_DEFUN([KDE_CHECK_LONG_LONG], -[ -AC_MSG_CHECKING(for long long) -AC_CACHE_VAL(kde_cv_c_long_long, -[ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_TRY_LINK([], [ - long long foo = 0; - foo = foo+1; - ], - kde_cv_c_long_long=yes, kde_cv_c_long_long=no) - AC_LANG_RESTORE -]) -AC_MSG_RESULT($kde_cv_c_long_long) -if test "$kde_cv_c_long_long" = yes; then - AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype]) -fi -]) - -AC_DEFUN([KDE_CHECK_LIB], -[ - kde_save_LDFLAGS="$LDFLAGS" - dnl AC_CHECK_LIB modifies LIBS, so save it here - kde_save_LIBS="$LIBS" - LDFLAGS="$LDFLAGS $all_libraries" - case $host_os in - aix*) LDFLAGS="-brtl $LDFLAGS" - test "$GCC" = yes && LDFLAGS="-Wl,$LDFLAGS" - ;; - esac - AC_CHECK_LIB($1, $2, $3, $4, $5) - LDFLAGS="$kde_save_LDFLAGS" - LIBS="$kde_save_LIBS" -]) - -AC_DEFUN([KDE_JAVA_PREFIX], -[ - dir=`dirname "$1"` - base=`basename "$1"` - list=`ls -1 $dir 2> /dev/null` - for entry in $list; do - if test -d $dir/$entry/bin; then - case $entry in - $base) - javadirs="$javadirs $dir/$entry/bin" - ;; - esac - elif test -d $dir/$entry/jre/bin; then - case $entry in - $base) - javadirs="$javadirs $dir/$entry/jre/bin" - ;; - esac - fi - done -]) - -dnl KDE_CHEC_JAVA_DIR(onlyjre) -AC_DEFUN([KDE_CHECK_JAVA_DIR], -[ - -AC_ARG_WITH(java, -AC_HELP_STRING([--with-java=javadir],[use java installed in javadir, --without-java disables]), -[ ac_java_dir=$withval -], ac_java_dir="" -) - -AC_MSG_CHECKING([for Java]) - -dnl at this point ac_java_dir is either a dir, 'no' to disable, or '' to say look in $PATH -if test "x$ac_java_dir" = "xno"; then - kde_java_bindir=no - kde_java_includedir=no - kde_java_libjvmdir=no - kde_java_libgcjdir=no - kde_java_libhpidir=no -else - if test "x$ac_java_dir" = "x"; then - - - dnl No option set -> collect list of candidate paths - if test -n "$JAVA_HOME"; then - KDE_JAVA_PREFIX($JAVA_HOME) - fi - KDE_JAVA_PREFIX(/usr/j2se) - KDE_JAVA_PREFIX(/usr/lib/j2se) - KDE_JAVA_PREFIX(/usr/j*dk*) - KDE_JAVA_PREFIX(/usr/lib/j*dk*) - KDE_JAVA_PREFIX(/opt/j*sdk*) - KDE_JAVA_PREFIX(/usr/lib/java*) - KDE_JAVA_PREFIX(/usr/java*) - KDE_JAVA_PREFIX(/usr/java/j*dk*) - KDE_JAVA_PREFIX(/usr/java/j*re*) - KDE_JAVA_PREFIX(/usr/lib/SunJava2*) - KDE_JAVA_PREFIX(/usr/lib/SunJava*) - KDE_JAVA_PREFIX(/usr/lib/IBMJava2*) - KDE_JAVA_PREFIX(/usr/lib/IBMJava*) - KDE_JAVA_PREFIX(/opt/java*) - - kde_cv_path="NONE" - kde_save_IFS=$IFS - IFS=':' - for dir in $PATH; do - if test -d "$dir"; then - javadirs="$javadirs $dir" - fi - done - IFS=$kde_save_IFS - jredirs= - - dnl Now javadirs contains a list of paths that exist, all ending with bin/ - for dir in $javadirs; do - dnl Check for the java executable - if test -x "$dir/java"; then - dnl And also check for a libjvm.so somewhere under there - dnl Since we have to go to the parent dir, /usr/bin is excluded, /usr is too big. - if test "$dir" != "/usr/bin"; then - libjvmdir=`find $dir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` - if test ! -f $libjvmdir/libjvm.so; then continue; fi - jredirs="$jredirs $dir" - fi - fi - done - - dnl Now jredirs contains a reduced list, of paths where both java and ../**/libjvm.so was found - JAVAC= - JAVA= - kde_java_bindir=no - for dir in $jredirs; do - JAVA="$dir/java" - kde_java_bindir=$dir - if test -x "$dir/javac"; then - JAVAC="$dir/javac" - break - fi - done - - if test -n "$JAVAC"; then - dnl this substitution might not work - well, we test for jni.h below - kde_java_includedir=`echo $JAVAC | sed -e 's,bin/javac$,include/,'` - else - kde_java_includedir=no - fi - else - dnl config option set - kde_java_bindir=$ac_java_dir/bin - if test -x $ac_java_dir/bin/java && test ! -x $ac_java_dir/bin/javac; then - kde_java_includedir=no - else - kde_java_includedir=$ac_java_dir/include - fi - fi -fi - -dnl At this point kde_java_bindir and kde_java_includedir are either set or "no" -if test "x$kde_java_bindir" != "xno"; then - - dnl Look for libjvm.so - kde_java_libjvmdir=`find $kde_java_bindir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` - dnl Look for libgcj.so - kde_java_libgcjdir=`find $kde_java_bindir/.. -name libgcj.so | sed 's,libgcj.so,,'|head -n 1` - dnl Look for libhpi.so and avoid green threads - kde_java_libhpidir=`find $kde_java_bindir/.. -name libhpi.so | grep -v green | sed 's,libhpi.so,,' | head -n 1` - - dnl Now check everything's fine under there - dnl the include dir is our flag for having the JDK - if test -d "$kde_java_includedir"; then - if test ! -x "$kde_java_bindir/javac"; then - AC_MSG_ERROR([javac not found under $kde_java_bindir - it seems you passed a wrong --with-java.]) - fi - if test ! -x "$kde_java_bindir/javah"; then - AC_MSG_ERROR([javah not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) - fi - if test ! -x "$kde_java_bindir/jar"; then - AC_MSG_ERROR([jar not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) - fi - if test ! -r "$kde_java_includedir/jni.h"; then - AC_MSG_ERROR([jni.h not found under $kde_java_includedir. Use --with-java or --without-java.]) - fi - - jni_includes="-I$kde_java_includedir" - dnl Strange thing, jni.h requires jni_md.h which is under genunix here.. - dnl and under linux here.. - - dnl not needed for gcj - - if test "x$kde_java_libgcjdir" = "x"; then - test -d "$kde_java_includedir/linux" && jni_includes="$jni_includes -I$kde_java_includedir/linux" - test -d "$kde_java_includedir/solaris" && jni_includes="$jni_includes -I$kde_java_includedir/solaris" - test -d "$kde_java_includedir/genunix" && jni_includes="$jni_includes -I$kde_java_includedir/genunix" - fi - - else - JAVAC= - jni_includes= - fi - - if test "x$kde_java_libgcjdir" = "x"; then - if test ! -r "$kde_java_libjvmdir/libjvm.so"; then - AC_MSG_ERROR([libjvm.so not found under $kde_java_libjvmdir. Use --without-java.]) - fi - else - if test ! -r "$kde_java_libgcjdir/libgcj.so"; then - AC_MSG_ERROR([libgcj.so not found under $kde_java_libgcjdir. Use --without-java.]) - fi - fi - - if test ! -x "$kde_java_bindir/java"; then - AC_MSG_ERROR([java not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) - fi - - dnl not needed for gcj compile - - if test "x$kde_java_libgcjdir" = "x"; then - if test ! -r "$kde_java_libhpidir/libhpi.so"; then - AC_MSG_ERROR([libhpi.so not found under $kde_java_libhpidir. Use --without-java.]) - fi - fi - - if test -n "$jni_includes"; then - dnl Check for JNI version - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - ac_cxxflags_safe="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS $all_includes $jni_includes" - - AC_TRY_COMPILE([ - #include <jni.h> - ], - [ - #ifndef JNI_VERSION_1_2 - Syntax Error - #endif - ],[ kde_jni_works=yes ], - [ kde_jni_works=no ]) - - if test $kde_jni_works = no; then - AC_MSG_ERROR([Incorrect version of $kde_java_includedir/jni.h. - You need to have Java Development Kit (JDK) version 1.2. - - Use --with-java to specify another location. - Use --without-java to configure without java support. - Or download a newer JDK and try again. - See e.g. http://java.sun.com/products/jdk/1.2 ]) - fi - - CXXFLAGS="$ac_cxxflags_safe" - AC_LANG_RESTORE - - dnl All tests ok, inform and subst the variables - - JAVAC=$kde_java_bindir/javac - JAVAH=$kde_java_bindir/javah - JAR=$kde_java_bindir/jar - AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) - if test "x$kde_java_libgcjdir" = "x"; then - JVMLIBS="-L$kde_java_libjvmdir -ljvm -L$kde_java_libhpidir -lhpi" - else - JVMLIBS="-L$kde_java_libgcjdir -lgcj" - fi - AC_MSG_RESULT([java JDK in $kde_java_bindir]) - - else - AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) - AC_MSG_RESULT([java JRE in $kde_java_bindir]) - fi -elif test -d "/Library/Java/Home"; then - kde_java_bindir="/Library/Java/Home/bin" - jni_includes="-I/Library/Java/Home/include" - - JAVAC=$kde_java_bindir/javac - JAVAH=$kde_java_bindir/javah - JAR=$kde_java_bindir/jar - JVMLIBS="-Xlinker -framework -Xlinker JavaVM" - - AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) - AC_MSG_RESULT([Apple Java Framework]) -else - AC_MSG_RESULT([none found]) -fi - -AC_SUBST(JAVAC) -AC_SUBST(JAVAH) -AC_SUBST(JAR) -AC_SUBST(JVMLIBS) -AC_SUBST(jni_includes) - -# for backward compat -kde_cv_java_includedir=$kde_java_includedir -kde_cv_java_bindir=$kde_java_bindir -]) - -dnl this is a redefinition of autoconf 2.5x's AC_FOREACH. -dnl When the argument list becomes big, as in KDE for AC_OUTPUT in -dnl big packages, m4_foreach is dog-slow. So use our own version of -dnl it. (matz@kde.org) -m4_define([mm_foreach], -[m4_pushdef([$1])_mm_foreach($@)m4_popdef([$1])]) -m4_define([mm_car], [[$1]]) -m4_define([mm_car2], [[$@]]) -m4_define([_mm_foreach], -[m4_if(m4_quote($2), [], [], - [m4_define([$1], mm_car($2))$3[]_mm_foreach([$1], - mm_car2(m4_shift($2)), - [$3])])]) -m4_define([AC_FOREACH], -[mm_foreach([$1], m4_split(m4_normalize([$2])), [$3])]) - -AC_DEFUN([KDE_NEED_FLEX], -[ -kde_libs_safe=$LIBS -LIBS="$LIBS $USER_LDFLAGS" -AM_PROG_LEX -LIBS=$kde_libs_safe -if test -z "$LEXLIB"; then - AC_MSG_ERROR([You need to have flex installed.]) -fi -AC_SUBST(LEXLIB) -]) - -AC_DEFUN([AC_PATH_QTOPIA], -[ - dnl TODO: use AC_CACHE_VAL - - if test -z "$1"; then - qtopia_minver_maj=1 - qtopia_minver_min=5 - qtopia_minver_pat=0 - else - qtopia_minver_maj=`echo "$1" | sed -e "s/^\(.*\)\..*\..*$/\1/"` - qtopia_minver_min=`echo "$1" | sed -e "s/^.*\.\(.*\)\..*$/\1/"` - qtopia_minver_pat=`echo "$1" | sed -e "s/^.*\..*\.\(.*\)$/\1/"` - fi - - qtopia_minver="$qtopia_minver_maj$qtopia_minver_min$qtopia_minver_pat" - qtopia_minverstr="$qtopia_minver_maj.$qtopia_minver_min.$qtopia_minver_pat" - - AC_REQUIRE([AC_PATH_QT]) - - AC_MSG_CHECKING([for Qtopia]) - - LIB_QTOPIA="-lqpe" - AC_SUBST(LIB_QTOPIA) - - kde_qtopia_dirs="$QPEDIR /opt/Qtopia" - - ac_qtopia_incdir=NO - - AC_ARG_WITH(qtopia-dir, - AC_HELP_STRING([--with-qtopia-dir=DIR],[where the root of Qtopia is installed]), - [ ac_qtopia_incdir="$withval"/include] ) - - qtopia_incdirs="" - for dir in $kde_qtopia_dirs; do - qtopia_incdirs="$qtopia_incdirs $dir/include" - done - - if test ! "$ac_qtopia_incdir" = "NO"; then - qtopia_incdirs="$ac_qtopia_incdir $qtopia_incdirs" - fi - - qtopia_incdir="" - AC_FIND_FILE(qpe/qpeapplication.h, $qtopia_incdirs, qtopia_incdir) - ac_qtopia_incdir="$qtopia_incdir" - - if test -z "$qtopia_incdir"; then - AC_MSG_ERROR([Cannot find Qtopia headers. Please check your installation.]) - fi - - qtopia_ver_maj=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION "\(.*\)\..*\..*".*,\1,p'`; - qtopia_ver_min=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\.\(.*\)\..*".*,\1,p'`; - qtopia_ver_pat=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\..*\.\(.*\)".*,\1,p'`; - - qtopia_ver="$qtopia_ver_maj$qtopia_ver_min$qtopia_ver_pat" - qtopia_verstr="$qtopia_ver_maj.$qtopia_ver_min.$qtopia_ver_pat" - if test "$qtopia_ver" -lt "$qtopia_minver"; then - AC_MSG_ERROR([found Qtopia version $qtopia_verstr but version $qtopia_minverstr -is required.]) - fi - - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - - ac_cxxflags_safe="$CXXFLAGS" - ac_ldflags_safe="$LDFLAGS" - ac_libs_safe="$LIBS" - - CXXFLAGS="$CXXFLAGS -I$qtopia_incdir $all_includes" - LDFLAGS="$LDFLAGS $QT_LDFLAGS $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS" - LIBS="$LIBS $LIB_QTOPIA $LIBQT" - - cat > conftest.$ac_ext <<EOF -#include "confdefs.h" -#include <qpe/qpeapplication.h> -#include <qpe/version.h> - -int main( int argc, char **argv ) -{ - QPEApplication app( argc, argv ); - return 0; -} -EOF - - if AC_TRY_EVAL(ac_link) && test -s conftest; then - rm -f conftest* - else - rm -f conftest* - AC_MSG_ERROR([Cannot link small Qtopia Application. For more details look at -the end of config.log]) - fi - - CXXFLAGS="$ac_cxxflags_safe" - LDFLAGS="$ac_ldflags_safe" - LIBS="$ac_libs_safe" - - AC_LANG_RESTORE - - QTOPIA_INCLUDES="-I$qtopia_incdir" - AC_SUBST(QTOPIA_INCLUDES) - - AC_MSG_RESULT([found version $qtopia_verstr with headers at $qtopia_incdir]) -]) - - -AC_DEFUN([KDE_INIT_DOXYGEN], -[ -AC_MSG_CHECKING([for Qt docs]) -kde_qtdir= -if test "${with_qt_dir+set}" = set; then - kde_qtdir="$with_qt_dir" -fi - -AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html $QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc /usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3 /usr/share/doc/qt3-doc /usr/share/qt3/doc/html /usr/X11R6/share/doc/qt/html ], QTDOCDIR) -AC_MSG_RESULT($QTDOCDIR) - -AC_SUBST(QTDOCDIR) - -KDE_FIND_PATH(dot, DOT, [], []) -if test -n "$DOT"; then - KDE_HAVE_DOT="YES" -else - KDE_HAVE_DOT="NO" -fi -AC_SUBST(KDE_HAVE_DOT) -KDE_FIND_PATH(doxygen, DOXYGEN, [], []) -AC_SUBST(DOXYGEN) - -DOXYGEN_PROJECT_NAME="$1" -DOXYGEN_PROJECT_NUMBER="$2" -AC_SUBST(DOXYGEN_PROJECT_NAME) -AC_SUBST(DOXYGEN_PROJECT_NUMBER) - -KDE_HAS_DOXYGEN=no -if test -n "$DOXYGEN" && test -x "$DOXYGEN" && test -f $QTDOCDIR/qsql.html; then - KDE_HAS_DOXYGEN=yes -fi -AC_SUBST(KDE_HAS_DOXYGEN) - -]) - - -AC_DEFUN([AC_FIND_BZIP2], -[ -AC_MSG_CHECKING([for bzDecompress in libbz2]) -AC_CACHE_VAL(ac_cv_lib_bzip2, -[ -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -kde_save_LIBS="$LIBS" -LIBS="$all_libraries $USER_LDFLAGS -lbz2 $LIBSOCKET" -kde_save_CXXFLAGS="$CXXFLAGS" -CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" -AC_TRY_LINK(dnl -[ -#define BZ_NO_STDIO -#include<bzlib.h> -], - [ bz_stream s; (void) bzDecompress(&s); ], - eval "ac_cv_lib_bzip2='-lbz2'", - eval "ac_cv_lib_bzip2=no") -LIBS="$kde_save_LIBS" -CXXFLAGS="$kde_save_CXXFLAGS" -AC_LANG_RESTORE -])dnl -AC_MSG_RESULT($ac_cv_lib_bzip2) - -if test ! "$ac_cv_lib_bzip2" = no; then - BZIP2DIR=bzip2 - - LIBBZ2="$ac_cv_lib_bzip2" - AC_SUBST(LIBBZ2) - -else - - cxx_shared_flag= - ld_shared_flag= - KDE_CHECK_COMPILER_FLAG(shared, [ - ld_shared_flag="-shared" - ]) - KDE_CHECK_COMPILER_FLAG(fPIC, [ - cxx_shared_flag="-fPIC" - ]) - - AC_MSG_CHECKING([for BZ2_bzDecompress in (shared) libbz2]) - AC_CACHE_VAL(ac_cv_lib_bzip2_prefix, - [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - kde_save_LIBS="$LIBS" - LIBS="$all_libraries $USER_LDFLAGS $ld_shared_flag -lbz2 $LIBSOCKET" - kde_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CFLAGS $cxx_shared_flag $all_includes $USER_INCLUDES" - - AC_TRY_LINK(dnl - [ - #define BZ_NO_STDIO - #include<bzlib.h> - ], - [ bz_stream s; (void) BZ2_bzDecompress(&s); ], - eval "ac_cv_lib_bzip2_prefix='-lbz2'", - eval "ac_cv_lib_bzip2_prefix=no") - LIBS="$kde_save_LIBS" - CXXFLAGS="$kde_save_CXXFLAGS" - AC_LANG_RESTORE - ])dnl - - AC_MSG_RESULT($ac_cv_lib_bzip2_prefix) - - if test ! "$ac_cv_lib_bzip2_prefix" = no; then - BZIP2DIR=bzip2 - - LIBBZ2="$ac_cv_lib_bzip2_prefix" - AC_SUBST(LIBBZ2) - - AC_DEFINE(NEED_BZ2_PREFIX, 1, [Define if the libbz2 functions need the BZ2_ prefix]) - dnl else, we just ignore this - fi - -fi -AM_CONDITIONAL(include_BZIP2, test -n "$BZIP2DIR") -]) - -dnl ------------------------------------------------------------------------ -dnl Try to find the SSL headers and libraries. -dnl $(SSL_LDFLAGS) will be -Lsslliblocation (if needed) -dnl and $(SSL_INCLUDES) will be -Isslhdrlocation (if needed) -dnl ------------------------------------------------------------------------ -dnl -AC_DEFUN([KDE_CHECK_SSL], -[ -LIBSSL="-lssl -lcrypto" -AC_REQUIRE([KDE_CHECK_LIB64]) - -ac_ssl_includes=NO ac_ssl_libraries=NO -ssl_libraries="" -ssl_includes="" -AC_ARG_WITH(ssl-dir, - AC_HELP_STRING([--with-ssl-dir=DIR],[where the root of OpenSSL is installed]), - [ ac_ssl_includes="$withval"/include - ac_ssl_libraries="$withval"/lib$kdelibsuff - ]) - -want_ssl=yes -AC_ARG_WITH(ssl, - AC_HELP_STRING([--without-ssl],[disable SSL checks]), - [want_ssl=$withval]) - -if test $want_ssl = yes; then - -AC_MSG_CHECKING(for OpenSSL) - -AC_CACHE_VAL(ac_cv_have_ssl, -[#try to guess OpenSSL locations - - ssl_incdirs="/usr/include /usr/local/include /usr/ssl/include /usr/local/ssl/include $prefix/include $kde_extra_includes" - ssl_incdirs="$ac_ssl_includes $ssl_incdirs" - AC_FIND_FILE(openssl/ssl.h, $ssl_incdirs, ssl_incdir) - ac_ssl_includes="$ssl_incdir" - - ssl_libdirs="/usr/lib$kdelibsuff /usr/local/lib$kdelibsuff /usr/ssl/lib$kdelibsuff /usr/local/ssl/lib$kdelibsuff $libdir $prefix/lib$kdelibsuff $exec_prefix/lib$kdelibsuff $kde_extra_libs" - if test ! "$ac_ssl_libraries" = "NO"; then - ssl_libdirs="$ac_ssl_libraries $ssl_libdirs" - fi - - test=NONE - ssl_libdir=NONE - for dir in $ssl_libdirs; do - try="ls -1 $dir/libssl*" - if test=`eval $try 2> /dev/null`; then ssl_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi - done - - ac_ssl_libraries="$ssl_libdir" - - ac_ldflags_safe="$LDFLAGS" - ac_libs_safe="$LIBS" - - LDFLAGS="$LDFLAGS -L$ssl_libdir $all_libraries" - LIBS="$LIBS $LIBSSL -lRSAglue -lrsaref" - - AC_TRY_LINK(,void RSAPrivateEncrypt(void);RSAPrivateEncrypt();, - ac_ssl_rsaref="yes" - , - ac_ssl_rsaref="no" - ) - - LDFLAGS="$ac_ldflags_safe" - LIBS="$ac_libs_safe" - - if test "$ac_ssl_includes" = NO || test "$ac_ssl_libraries" = NO; then - have_ssl=no - else - have_ssl=yes; - fi - - ]) - - eval "$ac_cv_have_ssl" - - AC_MSG_RESULT([libraries $ac_ssl_libraries, headers $ac_ssl_includes]) - - AC_MSG_CHECKING([whether OpenSSL uses rsaref]) - AC_MSG_RESULT($ac_ssl_rsaref) - - AC_MSG_CHECKING([for easter eggs]) - AC_MSG_RESULT([none found]) - -else - have_ssl=no -fi - -if test "$have_ssl" = yes; then - AC_MSG_CHECKING(for OpenSSL version) - dnl Check for SSL version - AC_CACHE_VAL(ac_cv_ssl_version, - [ - - cat >conftest.$ac_ext <<EOF -#include <openssl/opensslv.h> -#include <stdio.h> - int main() { - -#ifndef OPENSSL_VERSION_NUMBER - printf("ssl_version=\\"error\\"\n"); -#else - if (OPENSSL_VERSION_NUMBER < 0x00906000) - printf("ssl_version=\\"old\\"\n"); - else - printf("ssl_version=\\"ok\\"\n"); -#endif - return (0); - } -EOF - - ac_save_CPPFLAGS=$CPPFLAGS - if test "$ac_ssl_includes" != "/usr/include"; then - CPPFLAGS="$CPPFLAGS -I$ac_ssl_includes" - fi - - if AC_TRY_EVAL(ac_link); then - - if eval `./conftest 2>&5`; then - if test $ssl_version = error; then - AC_MSG_ERROR([$ssl_incdir/openssl/opensslv.h doesn't define OPENSSL_VERSION_NUMBER !]) - else - if test $ssl_version = old; then - AC_MSG_WARN([OpenSSL version too old. Upgrade to 0.9.6 at least, see http://www.openssl.org. SSL support disabled.]) - have_ssl=no - fi - fi - ac_cv_ssl_version="ssl_version=$ssl_version" - else - AC_MSG_ERROR([Your system couldn't run a small SSL test program. - Check config.log, and if you can't figure it out, send a mail to - David Faure <faure@kde.org>, attaching your config.log]) - fi - - else - AC_MSG_ERROR([Your system couldn't link a small SSL test program. - Check config.log, and if you can't figure it out, send a mail to - David Faure <faure@kde.org>, attaching your config.log]) - fi - CPPFLAGS=$ac_save_CPPFLAGS - - ]) - - eval "$ac_cv_ssl_version" - AC_MSG_RESULT($ssl_version) -fi - -if test "$have_ssl" != yes; then - LIBSSL=""; -else - AC_DEFINE(HAVE_SSL, 1, [If we are going to use OpenSSL]) - ac_cv_have_ssl="have_ssl=yes \ - ac_ssl_includes=$ac_ssl_includes ac_ssl_libraries=$ac_ssl_libraries ac_ssl_rsaref=$ac_ssl_rsaref" - - - ssl_libraries="$ac_ssl_libraries" - ssl_includes="$ac_ssl_includes" - - if test "$ac_ssl_rsaref" = yes; then - LIBSSL="-lssl -lcrypto -lRSAglue -lrsaref" - fi - - if test $ssl_version = "old"; then - AC_DEFINE(HAVE_OLD_SSL_API, 1, [Define if you have OpenSSL < 0.9.6]) - fi -fi - -SSL_INCLUDES= - -if test "$ssl_includes" = "/usr/include"; then - if test -f /usr/kerberos/include/krb5.h; then - SSL_INCLUDES="-I/usr/kerberos/include" - fi -elif test "$ssl_includes" != "/usr/local/include" && test -n "$ssl_includes"; then - SSL_INCLUDES="-I$ssl_includes" -fi - -if test "$ssl_libraries" = "/usr/lib" || test "$ssl_libraries" = "/usr/local/lib" || test -z "$ssl_libraries" || test "$ssl_libraries" = "NONE"; then - SSL_LDFLAGS="" -else - SSL_LDFLAGS="-L$ssl_libraries -R$ssl_libraries" -fi - -AC_SUBST(SSL_INCLUDES) -AC_SUBST(SSL_LDFLAGS) -AC_SUBST(LIBSSL) -]) - -AC_DEFUN([KDE_CHECK_STRLCPY], -[ - AC_REQUIRE([AC_CHECK_STRLCAT]) - AC_REQUIRE([AC_CHECK_STRLCPY]) - AC_CHECK_SIZEOF(size_t) - AC_CHECK_SIZEOF(unsigned long) - - AC_MSG_CHECKING([sizeof size_t == sizeof unsigned long]) - AC_TRY_COMPILE(,[ - #if SIZEOF_SIZE_T != SIZEOF_UNSIGNED_LONG - choke me - #endif - ],AC_MSG_RESULT([yes]),[ - AC_MSG_RESULT(no) - AC_MSG_ERROR([ - Apparently on your system our assumption sizeof size_t == sizeof unsigned long - does not apply. Please mail kde-devel@kde.org with a description of your system! - ]) - ]) -]) - -AC_DEFUN([KDE_CHECK_BINUTILS], -[ - AC_MSG_CHECKING([if ld supports unversioned version maps]) - - kde_save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" - echo "{ local: extern \"C++\" { foo }; };" > conftest.map - AC_TRY_LINK([int foo;], -[ -#ifdef __INTEL_COMPILER -icc apparently does not support libtools version-info and version-script -at the same time. Dunno where the bug is, but until somebody figured out, -better disable the optional version scripts. -#endif - - foo = 42; -], kde_supports_versionmaps=yes, kde_supports_versionmaps=no) - LDFLAGS="$kde_save_LDFLAGS" - rm -f conftest.map - AM_CONDITIONAL(include_VERSION_SCRIPT, - [test "$kde_supports_versionmaps" = "yes" && test "$kde_use_debug_code" = "no"]) - - AC_MSG_RESULT($kde_supports_versionmaps) -]) - -AC_DEFUN([AM_PROG_OBJC],[ -AC_CHECK_PROGS(OBJC, gcc, gcc) -test -z "$OBJC" && AC_MSG_ERROR([no acceptable objective-c gcc found in \$PATH]) -if test "x${OBJCFLAGS-unset}" = xunset; then - OBJCFLAGS="-g -O2" -fi -AC_SUBST(OBJCFLAGS) -_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES(OBJC)]) -]) - -AC_DEFUN([KDE_CHECK_PERL], -[ - KDE_FIND_PATH(perl, PERL, [$bindir $exec_prefix/bin $prefix/bin], [ - AC_MSG_ERROR([No Perl found in your $PATH. -We need perl to generate some code.]) - ]) - AC_SUBST(PERL) -]) - -AC_DEFUN([KDE_CHECK_LARGEFILE], -[ -AC_SYS_LARGEFILE -if test "$ac_cv_sys_file_offset_bits" != no; then - CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits" -fi - -if test "x$ac_cv_sys_large_files" != "xno"; then - CPPFLAGS="$CPPFLAGS -D_LARGE_FILES=1" -fi - -]) - -dnl A small extension to PKG_CHECK_MODULES (defined in pkg.m4.in) -dnl which allows to search for libs that get installed into the KDE prefix. -dnl -dnl Syntax: KDE_PKG_CHECK_MODULES(KSTUFF, libkexif >= 0.2 glib = 1.3.4, action-if, action-not) -dnl defines KSTUFF_LIBS, KSTUFF_CFLAGS, see pkg-config man page -dnl also defines KSTUFF_PKG_ERRORS on error -AC_DEFUN([KDE_PKG_CHECK_MODULES], [ - - PKG_CONFIG_PATH="$prefix/lib${kdelibsuff}/pkgconfig:$PKG_CONFIG_PATH" - if test "$prefix" != "$kde_libs_prefix"; then - PKG_CONFIG_PATH="$kde_libs_prefix/lib${kdelibsuff}/pkgconfig:$PKG_CONFIG_PATH" - fi - export PKG_CONFIG_PATH - PKG_CHECK_MODULES([$1],[$2],[$3],[$4]) -]) - - -dnl Check for PIE support in the compiler and linker -AC_DEFUN([KDE_CHECK_PIE_SUPPORT], -[ - AC_CACHE_CHECK([for PIE support], kde_cv_val_pie_support, - [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - safe_CXXFLAGS=$CXXFLAGS - safe_LDFLAGS=$LDFLAGS - CXXFLAGS="$CXXFLAGS -fpie" - LDFLAGS="$LDFLAGS -pie" - - AC_TRY_LINK([int foo;], [], [kde_cv_val_pie_support=yes], [kde_cv_val_pie_support=no]) - - CXXFLAGS=$safe_CXXFLAGS - LDFLAGS=$safe_LDFLAGS - AC_LANG_RESTORE - ]) - - AC_MSG_CHECKING(if enabling -pie/fpie support) - - AC_ARG_ENABLE(pie, - AC_HELP_STRING([--enable-pie],[platform supports PIE linking [default=detect]]), - [kde_has_pie_support=$enableval], - [kde_has_pie_support=detect]) - - if test "$kde_has_pie_support" = "detect"; then - kde_has_pie_support=$kde_cv_val_pie_support - fi - - AC_MSG_RESULT([$kde_has_pie_support]) - - KDE_USE_FPIE="" - KDE_USE_PIE="" - - AC_SUBST([KDE_USE_FPIE]) - AC_SUBST([KDE_USE_PIE]) - - if test "$kde_has_pie_support" = "yes"; then - KDE_USE_FPIE="-fpie" - KDE_USE_PIE="-pie" - fi -]) diff --git a/kde/admin/am_edit b/kde/admin/am_edit deleted file mode 100644 index c293132..0000000 --- a/kde/admin/am_edit +++ /dev/null @@ -1,2445 +0,0 @@ -#!/usr/bin/perl -w - -# Expands the specialised KDE tags in Makefile.in to (hopefully) valid -# make syntax. -# When called without file parameters, we work recursively on all Makefile.in -# in and below the current subdirectory. When called with file parameters, -# only those Makefile.in are changed. -# The currently supported tags are -# -# {program}_METASOURCES -# where you have a choice of two styles -# {program}_METASOURCES = name1.moc name2.moc ... [\] -# {program}_METASOURCES = AUTO -# The second style requires other tags as well. -# -# To install icons : -# KDE_ICON = iconname iconname2 ... -# KDE_ICON = AUTO -# -# For documentation : -# http://developer.kde.org/documentation/other/developer-faq.html -# -# and more new tags TBD! -# -# The concept (and base code) for this program came from automoc, -# supplied by the following -# -# Matthias Ettrich <ettrich@kde.org> (The originator) -# Kalle Dalheimer <kalle@kde.org> (The original implementator) -# Harri Porten <porten@tu-harburg.de> -# Alex Zepeda <jazepeda@pacbell.net> -# David Faure <faure@kde.org> -# Stephan Kulow <coolo@kde.org> -# Dirk Mueller <mueller@kde.org> - -use Cwd; -use File::Find; -use File::Basename; - -# Prototype the functions -sub initialise (); -sub processMakefile ($); -sub updateMakefile (); -sub restoreMakefile (); - -sub removeLine ($$); -sub appendLines ($); -sub substituteLine ($$); - -sub findMocCandidates (); -sub pruneMocCandidates ($); -sub checkMocCandidates (); -sub addMocRules (); -sub findKcfgFile($); - -sub tag_AUTOMAKE (); -sub tag_META_INCLUDES (); -sub tag_METASOURCES (); -sub tag_POFILES (); -sub tag_DOCFILES (); -sub tag_LOCALINSTALL(); -sub tag_IDLFILES(); -sub tag_UIFILES(); -sub tag_KCFGFILES(); -sub tag_SUBDIRS(); -sub tag_ICON(); -sub tag_CLOSURE(); -sub tag_NO_UNDEFINED(); -sub tag_NMCHECK(); -sub tag_DIST(); -sub tag_KDEINIT(); - -# Some global globals... -$verbose = 0; # a debug flag -$thisProg = "$0"; # This programs name -$topdir = cwd(); # The current directory -@makefiles = (); # Contains all the files we'll process -@foreignfiles = (); -$start = (times)[0]; # some stats for testing - comment out for release -$version = "v0.2"; -$errorflag = 0; -$cppExt = "(cpp|cc|cxx|C|c\\+\\+)"; -$hExt = "(h|H|hh|hxx|hpp|h\\+\\+)"; -$progId = "KDE tags expanded automatically by " . basename($thisProg); -$automkCall = "\n"; -$printname = ""; # used to display the directory the Makefile is in -$use_final = 1; # create code for --enable-final -$cleantarget = "clean"; -$dryrun = 0; -$pathoption = 0; -$foreign_libtool = 0; - -while (defined ($ARGV[0])) -{ - $_ = shift; - if (/^--version$/) - { - print STDOUT "\n"; - print STDOUT basename($thisProg), " $version\n", - "This is really free software, unencumbered by the GPL.\n", - "You can do anything you like with it except sueing me.\n", - "Copyright 1998 Kalle Dalheimer <kalle\@kde.org>\n", - "Concept, design and unnecessary questions about perl\n", - " by Matthias Ettrich <ettrich\@kde.org>\n\n", - "Making it useful by Stephan Kulow <coolo\@kde.org> and\n", - "Harri Porten <porten\@kde.org>\n", - "Updated (Feb-1999), John Birch <jb.nz\@writeme.com>\n", - "Fixes and Improvements by Dirk Mueller <mueller\@kde.org>\n", - "Current Maintainer Stephan Kulow\n\n"; - exit 0; - } - elsif (/^--verbose$|^-v$/) - { - $verbose = 1; # Oh is there a problem...? - } - elsif (/^(?:-p|--path=)(.+)$/) - { - my $p = $1; - $thisProg = $p . "/". basename($thisProg); - warn ("$thisProg doesn't exist\n") if (!(-f $thisProg)); - $thisProg .= " -p".$p; - $pathoption=1; - } - elsif (/^--help$|^-h$/) - { - print STDOUT "Usage $thisProg [OPTION] ... [dir/Makefile.in]...\n", - "\n", - "Patches dir/Makefile.in generated by automake\n", - "(where dir can be an absolute or relative directory name)\n", - "\n", - " -v, --verbose verbosely list files processed\n", - " -h, --help print this help, then exit\n", - " --version print version number, then exit\n", - " -p, --path= use the path to am_edit if the path\n", - " called from is not the one to be used\n", - " --no-final don't patch for --enable-final\n"; - - exit 0; - } - elsif (/^--no-final$/) - { - $use_final = 0; - $thisProg .= " --no-final"; - } - elsif (/^--foreign-libtool$/) - { - $foreign_libtool = 1; - $thisProg .= " --foreign-libtool"; - } - elsif (/^-n$/) - { - $dryrun = 1; - } - else - { - # user selects what input files to check - # add full path if relative path is given - $_ = cwd()."/".$_ if (! /^\//); - print "User wants $_\n" if ($verbose); - push (@makefiles, $_); - } -} - -if ($thisProg =~ /^\// && !$pathoption ) -{ - print STDERR "Illegal full pathname call performed...\n", - "The call to \"$thisProg\"\nwould be inserted in some Makefile.in.\n", - "Please use option --path.\n"; - exit 1; -} - -# Only scan for files when the user hasn't entered data -if (!@makefiles) -{ - print STDOUT "Scanning for Makefile.in\n" if ($verbose); - find (\&add_makefile, cwd()); - #chdir('$topdir'); -} else { - print STDOUT "Using input files specified by user\n" if ($verbose); -} - -foreach $makefile (sort(@makefiles)) -{ - processMakefile ($makefile); - last if ($errorflag); -} - -# Just some debug statistics - comment out for release as it uses printf. -printf STDOUT "Time %.2f CPU sec\n", (times)[0] - $start if ($verbose); - -exit $errorflag; # causes make to fail if erroflag is set - -#----------------------------------------------------------------------------- - -# In conjunction with the "find" call, this builds the list of input files -sub add_makefile () -{ - push (@makefiles, $File::Find::name) if (/Makefile.in$/); -} - -#----------------------------------------------------------------------------- - -# Processes a single make file -# The parameter contains the full path name of the Makefile.in to use -sub processMakefile ($) -{ - # some useful globals for the subroutines called here - local ($makefile) = @_; - local @headerdirs = ('.'); - local $haveAutomocTag = 0; - local $MakefileData = ""; - - local $cxxsuffix = "KKK"; - - local @programs = (); # lists the names of programs and libraries - local $program = ""; - - local @kdeinits = (); # lists the kdeinit targets - - local %realObjs = (); # lists the objects compiled into $program - local %sources = (); # lists the sources used for $program - local %finalObjs = (); # lists the objects compiled when final - local %realname = (); # the binary name of program variable - local %idlfiles = (); # lists the idl files used for $program - local %globalmocs = ();# list of all mocfiles (in %mocFiles format) - local %important = (); # list of files to be generated asap - local %uiFiles = (); - local %kcfgFiles = (); - - local $allidls = ""; - local $idl_output = "";# lists all idl generated files for cleantarget - local $ui_output = "";# lists all uic generated files for cleantarget - local $kcfg_output = "";# lists all kcfg generated files for cleantarget - - local %dependmocs = (); - - local $metasourceTags = 0; - local $dep_files = ""; - local $dep_finals = ""; - local %target_adds = (); # the targets to add - local %rule_adds = (); - local $kdelang = ""; - local @cleanfiles = (); - local $cleanMoc = ""; - local $closure_output = ""; - - local %varcontent = (); - - $makefileDir = dirname($makefile); - chdir ($makefileDir); - $printname = $makefile; - $printname =~ s/^\Q$topdir\E\///; - $makefile = basename($makefile); - - print STDOUT "Processing makefile $printname\n" if ($verbose); - - # Setup and see if we need to do this. - return if (!initialise()); - - tag_AUTOMAKE (); # Allows a "make" to redo the Makefile.in - tag_META_INCLUDES (); # Supplies directories for src locations - - foreach $program (@programs) { - $sources_changed{$program} = 0; - $dependmocs{$program} = ""; - $important{$program} = ""; - tag_IDLFILES(); # Sorts out idl rules - tag_NO_UNDEFINED(); - tag_CLOSURE(); - tag_NMCHECK(); - tag_UIFILES(); # Sorts out ui rules - tag_KCFGFILES(); # Sorts out kcfg rules - tag_METASOURCES (); # Sorts out the moc rules - if ($sources_changed{$program}) { - my $lookup = $program . '_SOURCES\s*=[ \t]*(.*)'; - - if($program =~ /libkdeinit_(.*)/) { - my $prog = $1; - substituteLine($prog . '_SOURCES\s*=[ \t]*(.*)', - "${prog}_SOURCES = ${prog}_dummy.$cxxsuffix\n" . - "libkdeinit_${prog}_SOURCES = " . $sources{$program}); - $sources{$prog} = "${prog}_dummy.$cxxsuffix"; - } - else { - substituteLine($lookup, "$program\_SOURCES=" . $sources{$program}); - } - } - if ($important{$program}) { - local %source_dict = (); - for $source (split(/[\034\s]+/, $sources{$program})) { - $source_dict{$source} = 1; - } - for $source (@cleanfiles) { - $source_dict{$source} = 0; - } - for $source (keys %source_dict) { - next if (!$source); - if ($source_dict{$source}) { - # sanity check - if (! -f $source) { - print STDERR "Error: $source is listed in a _SOURCE line in $printname, but doesn't exist yet. Put it in DISTCLEANFILES!\n"; - } else { - $target_adds{"\$(srcdir)/$source"} .= $important{$program}; - } - } - } - } - } - if ($cleanMoc) { - # Always add dist clean tag - # Add extra *.moc.cpp files created for USE_AUTOMOC because they - # aren't included in the normal *.moc clean rules. - appendLines ("$cleantarget-metasources:\n\t-rm -f $cleanMoc\n"); - $target_adds{"$cleantarget-am"} .= "$cleantarget-metasources "; - } - - tag_DIST() unless ($kdeopts{"noautodist"}); - - if ($idl_output) { - appendLines ("$cleantarget-idl:\n\t-rm -f $idl_output\n"); - $target_adds{"$cleantarget-am"} .= "$cleantarget-idl "; - } - - if ($ui_output) { - appendLines ("$cleantarget-ui:\n\t-rm -f $ui_output\n"); - $target_adds{"$cleantarget-am"} .= "$cleantarget-ui "; - } - - if ($kcfg_output) { - appendLines ("$cleantarget-kcfg:\n\t-rm -f $kcfg_output\n"); - $target_adds{"$cleantarget-am"} .= "$cleantarget-kcfg "; - } - - if ($closure_output) { - appendLines ("$cleantarget-closures:\n\t-rm -f $closure_output\n"); - $target_adds{"$cleantarget-am"} .= "$cleantarget-closures "; - } - - if ($MakefileData =~ /\nKDE_LANG\s*=\s*(\S*)\s*\n/) { - $kdelang = '$(KDE_LANG)' - } else { - $kdelang = ''; - } - - tag_POFILES (); # language rules for po directory - tag_DOCFILES (); # language rules for doc directories - tag_LOCALINSTALL(); # add $(DESTDIR) before all kde_ dirs - tag_ICON(); - tag_SUBDIRS(); - - my $tmp = "force-reedit:\n"; - $tmp .= "\t$automkCall\n\tcd \$(top_srcdir) && perl $thisProg $printname\n\n"; - appendLines($tmp); - - make_bcheck_target(); - make_meta_classes(); - tag_COMPILE_FIRST(); - tag_FINAL() if (!$kdeopts{"nofinal"}); - - my $final_lines = "final:\n\t\$(MAKE) "; - my $final_install_lines = "final-install:\n\t\$(MAKE) "; - my $nofinal_lines = "no-final:\n\t\$(MAKE) "; - my $nofinal_install_lines = "no-final-install:\n\t\$(MAKE) "; - - foreach $program (@programs) { - my $lookup = $program . '_OBJECTS\s*=[ \t]*.*'; - my $new = ""; - my @list = split(/[\034\s]+/, $realObjs{$program}); - if (!$kdeopts{"nofinal"} && @list > 1 && $finalObjs{$program}) { - $new .= "$program\_final\_OBJECTS = " . $finalObjs{$program}; - $new .= "\n$program\_nofinal\_OBJECTS = " . $realObjs{$program}; - $new .= "\n\@KDE_USE_FINAL_FALSE\@$program\_OBJECTS = \$($program\_nofinal\_OBJECTS)"; - $new .= "\n\@KDE_USE_FINAL_TRUE\@$program\_OBJECTS = \$($program\_final\_OBJECTS)"; - - $final_lines .= "$program\_OBJECTS=\"\$($program\_final_OBJECTS)\" "; - $final_install_lines .= "$program\_OBJECTS=\"\$($program\_final_OBJECTS)\" "; - $nofinal_lines .= "$program\_OBJECTS=\"\$($program\_nofinal\_OBJECTS)\" "; - $nofinal_install_lines .= "$program\_OBJECTS=\"\$($program\_nofinal_OBJECTS)\" "; - } else { - $new = "$program\_OBJECTS = " . $realObjs{$program}; - } - if($MakefileData =~ m/\n$lookup/) { - substituteLine ($lookup, $new); - } - else { - appendLines("$new\n"); - } - } - appendLines($final_lines . "all-am\n"); - appendLines($final_install_lines . "install-am\n"); - appendLines($nofinal_lines . "all-am\n"); - appendLines($nofinal_install_lines . "install-am\n"); - - my $lookup = '(\@\S+\@)?DEP_FILES\s*=[ \t]*(.*)'; - if ($MakefileData =~ /\n$lookup/) { - my $condition = $1; - my $depfiles = $2; - my $workfiles; - - if ($dep_finals) { - # Add the conditions on every line, since - # there may be line continuations in the list. - $workfiles = "$dep_files $dep_finals $depfiles"; - $workfiles =~ s/\034/\034$condition\@KDE_USE_FINAL_TRUE\@\t/g; - $lines = "$condition\@KDE_USE_FINAL_TRUE\@DEP_FILES = $workfiles\n"; - $workfiles = "$dep_files $depfiles"; - $workfiles =~ s/\034/\034$condition\@KDE_USE_FINAL_FALSE\@\t/g; - $lines .= "$condition\@KDE_USE_FINAL_FALSE\@DEP_FILES = $workfiles"; - } else { - $workfiles = "$dep_files $depfiles"; - $workfiles =~ s/\034/\034$condition\t/g; - $lines = $condition . "DEP_FILES = $workfiles"; - } - substituteLine($lookup, $lines); - } - - # new recursive targets - $target_adds{ "nmcheck" } .= ""; # always create nmcheck target - $target_adds{ "nmcheck-am" } .= "nmcheck"; - $lookup = 'RECURSIVE_TARGETS\s*=[ \t]*(.*)'; - if ($MakefileData =~ /\n$lookup/) { - substituteLine($lookup, "RECURSIVE_TARGETS = $1 nmcheck-recursive bcheck-recursive"); - } - - $cvs_lines = "kde-rpo-clean:\n"; - $cvs_lines .= "\t-rm -f *.rpo\n"; - appendLines($cvs_lines); - $target_adds{"clean"} .= "kde-rpo-clean "; - - my %target_dels = ("install-data-am" => ""); - - # some strange people like to do a install-exec, and expect that also - # all modules are installed. automake doesn't know this, so we need to move - # this here from install-data to install-exec. - if ($MakefileData =~ m/\nkde_module_LTLIBRARIES\s*=/) { -# $target_adds{"install-exec-am"} .= "install-kde_moduleLTLIBRARIES "; -# don't use $target_adds here because we need to append the dependency, not -# prepend it. Fixes #44342 , when a module depends on a lib in the same dir -# and libtool needs it during relinking upon install (Simon) - my $lookup = "install-exec-am:([^\n]*)"; - if($MakefileData =~ /\n$lookup\n/) { - substituteLine("$lookup", "install-exec-am: $1 install-kde_moduleLTLIBRARIES"); - } - $target_dels{"install-data-am"} .= "install-kde_moduleLTLIBRARIES "; - $target_adds{"install-data-am"} .= " "; - } - - my $lines = ""; - - foreach $add (keys %target_adds) { - my $lookup = quotemeta($add) . ':([^\n]*)'; - if ($MakefileData =~ /\n$lookup\n/) { - my $newlines = $1; - my $oldlines = $lookup; - if (defined $target_dels{$add}) { - foreach $del (split(' ', $target_dels{$add})) { - $newlines =~ s/\s*$del\s*/ /g; - } - } - substituteLine($oldlines, "$add: " . $target_adds{$add} . $newlines); - } else { - $lines .= "$add: " . $target_adds{$add} . "\n"; - } - } - - appendLines($lines) if ($lines); - - $lines = join("\n", values %rule_adds); - appendLines($lines) if ($lines); - - my $found = 1; - - while ($found) { - if ($MakefileData =~ m/\n(.*)\$\(CXXFLAGS\)(.*)\n/) { - my $stuff_before = $1; - my $stuff_after = $2; - my $lookup = quotemeta("$1\$(CXXFLAGS)$2"); - my $replacement = "$1\$(KCXXFLAGS)$2"; - $MakefileData =~ s/$lookup/$replacement/; - $lookup =~ s/\\\$\\\(CXXFLAGS\\\)/\\\$\\\(KCXXFLAGS\\\)/; - $replacement = "$stuff_before\$(KCXXFLAGS) \$(KDE_CXXFLAGS)$stuff_after"; - next if ($stuff_before =~ /\$\(KDE_CXXFLAGS\)/ or $stuff_after =~ /\$\(KDE_CXXFLAGS\)/); - substituteLine($lookup, $replacement); - } else { - $found = 0; - } - } - - if($foreign_libtool == 0) { - $lookup = '(\n[^#].*\$\(LIBTOOL\) --mode=link) (\$\(CXXLD\).*\$\(KCXXFLAGS\))'; - - if ($MakefileData =~ m/$lookup/ ) { - $MakefileData =~ s/$lookup/$1 --tag=CXX $2/; - } - - $lookup = '(\n[^#].*\$\(LIBTOOL\) --mode=compile)\s+(\$\(CXX\)\s+)'; - if ($MakefileData =~ m/$lookup/ ) { - $MakefileData =~ s/$lookup/$1 --tag=CXX $2/; - } - } - - $MakefileData =~ s/\$\(KCXXFLAGS\)/\$\(CXXFLAGS\)/g; - - $lookup = '(.*)cp -pr \$\$/\$\$file \$\(distdir\)/\$\$file(.*)'; - if ($MakefileData =~ m/\n$lookup\n/) { - substituteLine($lookup, "$1cp -pr \$\$d/\$\$file \$(distdir)/\$\$file$2"); - } - - # Always update the Makefile.in - updateMakefile (); - return; -} - -#----------------------------------------------------------------------------- - -# Beware: This procedure is not complete. E.g. it also parses lines -# containing a '=' in rules (for instance setting shell vars). For our -# usage this us enough, though. -sub read_variables () -{ - while ($MakefileData =~ /\n\s*(\S+)\s*=([^\n]*)/g) { - $varcontent{$1} = $2; - } -} - -# Check to see whether we should process this make file. -# This is where we look for tags that we need to process. -# A small amount of initialising on the tags is also done here. -# And of course we open and/or create the needed make files. -sub initialise () -{ - if (! -r "Makefile.am") { - print STDOUT "found Makefile.in without Makefile.am\n" if ($verbose); - return 0; - } - - # Checking for files to process... - - open (FILEIN, $makefile) || die "Can't open $makefileDir/$makefile: $!\n"; - # perl bug in 5.8.0: in utf8 mode it badly screws up - binmode(FILEIN, ":bytes") if ($] >= 5.008); - # Read the file - # stat(FILEIN)[7] might look more elegant, but is slower as it - # requires stat'ing the file - seek(FILEIN, 0, 2); - my $fsize = tell(FILEIN); - seek(FILEIN, 0, 0); - read FILEIN, $MakefileData, $fsize; - close FILEIN; - print "DOS CRLF within $makefileDir/$makefile!\n" if($MakefileData =~ y/\r//d); - - # Remove the line continuations, but keep them marked - # Note: we lose the trailing spaces but that's ok. - # Don't mangle line-leading spaces (usually tabs) - # since they're important. - $MakefileData =~ s/\\\s*\n/\034/g; - - # If we've processed the file before... - restoreMakefile () if ($MakefileData =~ /$progId/); - - foreach $dir (@foreignfiles) { - if (substr($makefileDir,0,length($dir)) eq $dir) { - return 0; - } - } - - %kdeopts = (); - $kdeopts{"foreign"} = 0; - $kdeopts{"qtonly"} = 0; - $kdeopts{"noautodist"} = 0; - $kdeopts{"foreign-libtool"} = $foreign_libtool; - $kdeopts{"nofinal"} = !$use_final; # default - - read_variables(); - - if ($MakefileData =~ /\nKDE_OPTIONS\s*=[ \t]*([^\n]*)\n/) { - my $kde_options_str = $1; - local @kde_options = split(/[\034\s]+/, $kde_options_str); - if (grep(/^foreign$/, @kde_options)) { - push(@foreignfiles, $makefileDir . "/"); - return 0; # don't touch me - } - for $opt (@kde_options) { - if (!defined $kdeopts{$opt}) { - print STDERR "Warning: unknown option $opt in $printname\n"; - } else { - $kdeopts{$opt} = 1; - } - } - } - - # Look for the tags that mean we should process this file. - $metasourceTags = 0; - $metasourceTags++ while ($MakefileData =~ /\n[^=\#]*METASOURCES\s*=/g); - - my $pofileTag = 0; - $pofileTag++ while ($MakefileData =~ /\nPOFILES\s*=/g); - if ($pofileTag > 1) - { - print STDERR "Error: Only one POFILES tag allowed\n"; - $errorflag = 1; - } - - while ($MakefileData =~ /\n\.SUFFIXES:([^\n]+)\n/g) { - my $suffixes_str = $1; - my @list=split(' ', $suffixes_str); - foreach $ext (@list) { - if ($ext =~ /^\.$cppExt$/) { - $cxxsuffix = $ext; - $cxxsuffix =~ s/\.//g; - print STDOUT "will use suffix $cxxsuffix\n" if ($verbose); - last; - } - } - } - - tag_KDEINIT(); - - while ($MakefileData =~ /\n(\S*)_OBJECTS\s*=[\034 \t]*([^\n]*)\n/g) { - - my $program = $1; - my $objs = $2; # safe them - - my $ocv = 0; - - my @objlist = split(/[\034\s]+/, $objs); - foreach $obj (@objlist) { - if ($obj =~ /(\S*)\$\((\S+)\)/ ) { - my $pre = $1; - my $variable = $2; - if ($pre eq '' && exists($varcontent{$variable})) { - my @addlist = split(/[\034\s]+/, $varcontent{$variable}); - push(@objlist, @addlist); - } elsif ($variable !~ 'OBJEXT' && $variable !~ /am__objects_\d+/ ) { - $ocv = 1; - } - } - } - - next if ($ocv); - next if ($program =~ /^am_libkdeinit_/); - - $program =~ s/^am_// if ($program =~ /^am_/); - - my $sourceprogram = $program; - $sourceprogram =~ s/\@am_/\@/ if($sourceprogram =~ /^.*\@am_.+/); - - print STDOUT "found program $program\n" if ($verbose); - push(@programs, $program); - - $realObjs{$program} = $objs; - - if ($MakefileData =~ /\n$sourceprogram\_SOURCES\s*=[ \t]*(.*)\n/) { - $sources{$program} = $1; - } - else { - $sources{$program} = ""; - print STDERR "found program with no _SOURCES: $program\n"; - } - - my $realprogram = $program; - $realprogram =~ s/_/./g; # unmask to regexp - if ($MakefileData =~ /\n($realprogram)(\$\(EXEEXT\)?)?:.*\$\($program\_OBJECTS\)/) { - $realname{$program} = $1; - } else { - # not standard Makefile - nothing to worry about - $realname{$program} = ""; - } - } - - my $lookup = 'DEPDIR\s*=.*'; - if ($MakefileData !~ /\n$lookup/) { - $lookup = 'bindir\s*=[ \t]*.*'; - substituteLine($lookup, "DEPDIR = .deps\n$1") if ($MakefileData =~ /\n($lookup)/); - } - - my @marks = ('MAINTAINERCLEANFILES', 'CLEANFILES', 'DISTCLEANFILES'); - foreach $mark (@marks) { - while ($MakefileData =~ /\n($mark)\s*=[ \t]*([^\n]*)/g) { - my $clean_str = $2; - foreach $file (split('[\034\s]+', $clean_str)) { - $file =~ s/\.\///; - push(@cleanfiles, $file); - } - } - } - - my $localTag = 0; - $localTag++ if ($MakefileData =~ /\ninstall-\S+-local:/); - - return (!$errorflag); -} - -#----------------------------------------------------------------------------- - -# Gets the list of user defined directories - relative to $srcdir - where -# header files could be located. -sub tag_META_INCLUDES () -{ - my $lookup = '[^=\n]*META_INCLUDES\s*=[ \t]*(.*)'; - return 1 if ($MakefileData !~ /($lookup)\n/); - print STDOUT "META_INCLUDE processing <$1>\n" if ($verbose); - - my $headerStr = $2; - removeLine ($lookup, $1); - - my @headerlist = split(/[\034\s]+/, $headerStr); - - foreach $dir (@headerlist) - { - $dir =~ s#\$\(srcdir\)#.#; - if (! -d $dir) - { - print STDERR "Warning: $dir can't be found. ", - "Must be a relative path to \$(srcdir)\n"; - } - else - { - push (@headerdirs, $dir); - } - } - - return 0; -} - -#----------------------------------------------------------------------------- - -sub tag_FINAL() -{ - my @final_names = (); - - foreach $program (@programs) { - - if ($sources{$program} =~ /\(/) { - print STDOUT "found ( in $program\_SOURCES. skipping\n" if ($verbose); - next; - } - - my $mocs = ""; # Moc files (in this program) - my $moc_cpp_added = 0; # If we added some .moc.cpp files, due to - # no other .cpp file including the .moc one. - - my @progsources = split(/[\034\s]+/, $sources{$program}); - my %shash = (); - @shash{@progsources} = 1; # we are only interested in the existence - my %sourcelist = (); - my %extradeps = (); - - foreach $source (@progsources) { - my $suffix = $source; - $suffix =~ s/^.*\.([^\.]+)$/$1/; - - $sourcelist{$suffix} .= "$source "; - } - foreach my $mocFile (keys (%globalmocs)) - { - my ($dir, $hFile, $cppFile) = split ("\035", $globalmocs{$mocFile}, 3); - if (defined ($cppFile)) { - $mocs .= " $mocFile.moc" if exists $shash{$cppFile}; - } else { - $sourcelist{$cxxsuffix} .= "$mocFile.moc.$cxxsuffix "; - $moc_cpp_added = 1; - } - } - - # scan for extra given dependencies and add them to our target - while ($MakefileData =~ /\n\s*(\S+)\.(?:lo|o)\s*:([^\n]*)/g) { - $extradeps{$1} = $2; - } - - foreach $suffix (keys %sourcelist) { - # See if this file contains c++ code. (i.e., just check the file's suffix against c++ extensions) - my $suffix_is_cxx = 0; - if($suffix =~ /($cppExt)$/) { - $cxxsuffix = $1; - $suffix_is_cxx = 1; - } - - my $mocfiles_in = ($suffix eq $cxxsuffix) && $moc_cpp_added; - - my @sourcelist = split(/[\034\s]+/, $sourcelist{$suffix}); - - if ((@sourcelist == 1 && !$mocfiles_in) || $suffix_is_cxx != 1 ) { - - # we support IDL on our own - if ($suffix eq "skel" || $suffix =~ /^stub/ - || $suffix =~ /^signals/ # obsolete, remove in KDE-4 - || $suffix eq "h" || $suffix eq "ui" - || $suffix eq "kcfgc" ) { - next; - } - - foreach $file (@sourcelist) { - $file =~ s/\Q$suffix\E$//; - - $finalObjs{$program} .= $file; - if ($program =~ /_la$/) { - $finalObjs{$program} .= "lo "; - } else { - $finalObjs{$program} .= "o "; - } - } - next; # suffix - } - - my $source_deps = ""; - foreach $source (@sourcelist) { - if (-f $source) { - $source_deps .= " \$(srcdir)/$source"; - } else { - $source_deps .= " $source"; - } - my $plainsource = $source; - $plainsource =~ s/\.$cppExt$//; - $source_deps .= " " . $extradeps{$plainsource} if (exists($extradeps{$plainsource})); - } - - $handling = "$program.all_$suffix.$suffix: \$(srcdir)/Makefile.in" . $source_deps . " " . join(' ', $mocs) . "\n"; - $handling .= "\t\@echo 'creating $program.all_$suffix.$suffix ...'; \\\n"; - $handling .= "\trm -f $program.all_$suffix.files $program.all_$suffix.final; \\\n"; - $handling .= "\techo \"#define KDE_USE_FINAL 1\" >> $program.all_$suffix.final; \\\n"; - $handling .= "\tfor file in " . $sourcelist{$suffix} . "; do \\\n"; - $handling .= "\t echo \"#include \\\"\$\$file\\\"\" >> $program.all_$suffix.files; \\\n"; - $handling .= "\t test ! -f \$\(srcdir\)/\$\$file || egrep '^#pragma +implementation' \$\(srcdir\)/\$\$file >> $program.all_$suffix.final; \\\n"; - $handling .= "\tdone; \\\n"; - $handling .= "\tcat $program.all_$suffix.final $program.all_$suffix.files > $program.all_$suffix.$suffix; \\\n"; - $handling .= "\trm -f $program.all_$suffix.final $program.all_$suffix.files\n"; - - appendLines($handling); - - push(@final_names, "$program.all_$suffix.$suffix"); - my $finalObj = "$program.all_$suffix."; - if ($program =~ /_la$/) { - $finalObj .= "lo"; - } else { - $finalObj .= "o"; - } - $finalObjs{$program} .= $finalObj . " "; - } - } - - if (!$kdeopts{"nofinal"} && @final_names >= 1) { - # add clean-final target - my $lines = "$cleantarget-final:\n"; - $lines .= "\t-rm -f " . join(' ', @final_names) . "\n" if (@final_names); - appendLines($lines); - $target_adds{"$cleantarget-am"} .= "$cleantarget-final "; - - foreach $finalfile (@final_names) { - $finalfile =~ s/\.[^.]*$/.P/; - $dep_finals .= " \$(DEPDIR)/$finalfile"; - } - } -} - -sub tag_KDEINIT() -{ - my @progs = (); - my $ltlibs = ""; - my $lookup = 'kdeinit_LTLIBRARIES\s*=[ \t]*(.*)'; - - if ($MakefileData =~ m/\n$lookup/) { - @kdeinits = split(/[\034\s]+/, $1); - my $lines = ""; - foreach my $kdeinit (@kdeinits) { - if ($kdeinit =~ m/\.la$/) { - $kdeinit =~ s/\.la$//; - push(@progs, $kdeinit); - - $lines .= "\n${kdeinit}.la.$cxxsuffix:\n"; - $lines .= "\techo 'extern \"C\" int kdemain(int argc, char* argv[]);' > ${kdeinit}.la.$cxxsuffix; \\\n"; - $lines .= "\techo 'int main(int argc, char* argv[]) { return kdemain(argc,argv); }' >> ${kdeinit}.la.$cxxsuffix\n"; - - $lines .= "\n${kdeinit}_dummy.$cxxsuffix:\n"; - $lines .= "\techo '#include <kdemacros.h>' > ${kdeinit}_dummy.$cxxsuffix; \\\n"; - $lines .= "\techo 'extern \"C\" int kdemain(int argc, char* argv[]);' >> ${kdeinit}_dummy.$cxxsuffix; \\\n"; - $lines .= "\techo 'extern \"C\" KDE_EXPORT int kdeinitmain(int argc, char* argv[]) { return kdemain(argc,argv); }' >> ${kdeinit}_dummy.$cxxsuffix\n"; - - push(@cleanfiles, "${kdeinit}.la.$cxxsuffix"); - push(@cleanfiles, "${kdeinit}_dummy.$cxxsuffix"); - - # add dependency - $dep_files .= " \$(DEPDIR)/${kdeinit}.la.Po" if($dep_files !~/${kdeinit}.la.Po/ ); - $dep_files .= " \$(DEPDIR)/${kdeinit}_dummy.Plo" if($dep_files !~/${kdeinit}_dummy.Plo/ ); - - # make library - $lookup = $kdeinit . '_la_LIBADD\s*=[ \t]*(.*)'; - if($MakefileData =~ m/\n$lookup/) { - my $libadd = $1; - substituteLine($lookup, "${kdeinit}_la_LIBADD = libkdeinit_${kdeinit}.la"); - appendLines("libkdeinit_${kdeinit}_la_LIBADD = $libadd\n"); - } - appendLines("libkdeinit_${kdeinit}_la_LDFLAGS = -no-undefined -avoid-version \$(all_libraries)\n"); - - # add library dependencies - $lookup = $kdeinit . '_la_DEPENDENCIES\s*=[ \t]*(.*)'; - if($MakefileData =~ m/\n$lookup/) { - my $libdeps = $1; - substituteLine($lookup, "${kdeinit}_la_DEPENDENCIES = libkdeinit_${kdeinit}.la"); - appendLines("libkdeinit_${kdeinit}_la_DEPENDENCIES = $libdeps\n"); - } - - # make library objects - $lookup = "am_${kdeinit}_la_OBJECTS" . '\s*=[ \t]*(.*)'; - if($MakefileData =~ m/\n$lookup/) { - my $libobjects = $1; - substituteLine($lookup, "am_${kdeinit}_la_OBJECTS = ${kdeinit}_dummy.lo"); - appendLines("am_libkdeinit_${kdeinit}_la_OBJECTS = $libobjects\n"); - my $prog = "libkdeinit_${kdeinit}_la"; - push(@programs, $prog); - $realObjs{$prog} = $libobjects; - $realname{$prog} = "libkdeinit_${kdeinit}.la"; - } - $target_adds{"libkdeinit_${kdeinit}.la"} = "\$(libkdeinit_${kdeinit}_la_OBJECTS) \$(libkdeinit_${kdeinit}_la_DEPENDENCIES)\n" . - "\t\$(CXXLINK) -rpath \$(libdir) \$(libkdeinit_${kdeinit}_la_LDFLAGS) ". - "\$(libkdeinit_${kdeinit}_la_OBJECTS) " . - "\$(libkdeinit_${kdeinit}_la_LIBADD) " . - "\$(LIBS)\n"; - - # make libkdeinit sources - $lookup = $kdeinit . '_la_SOURCES\s*=[ \t]*(.*)'; - if($MakefileData =~ m/\n$lookup/) { - my $srces = $1; - $sources_changed{"libkdeinit_${kdeinit}_la"} = 1; - $sources{"libkdeinit_${kdeinit}_la"} = $srces; - } - - # make libkdeinit metasources - $lookup = $kdeinit . '_la_METASOURCES\s*=[ \t]*(.*)'; - substituteLine($lookup, "libkdeinit_${kdeinit}_la_METASOURCES = $1") - if($MakefileData =~ m/\n$lookup/); - -=cut - # make binary sources - $lookup = $kdeinit. '_SOURCES\s*=[ \t]*(.*)'; - if($MakefileData =~ m/\n$lookup/) { - substituteLine($lookup, "${kdeinit}_SOURCES = ${kdeinit}.la.$cxxsuffix"); - $lookup = 'SOURCES\s*=[ \t]*(.*)'; - if($MakefileData =~ m/\n$lookup/) { - my $srces = $1; - $srces =~ s/\b$kdeinit\.c\b/\$(${kdeinit}_SOURCES)/; - $srces =~ s/\$\(${kdeinit}_la_SOURCES\)/\$(libkdeinit_${kdeinit}_la_SOURCES)/; - substituteLine($lookup, "SOURCES = $srces"); - } - $lookup = 'DIST_SOURCES\s*=[ \t](.*)'; - if($MakefileData =~ m/\n$lookup/) { - my $srces = $1; - $srces =~ s/\b$kdeinit\.c\b/\$(${kdeinit}_SOURCES)/; - $srces =~ s/\$\(${kdeinit}_la_SOURCES\)/\$(libkdeinit_${kdeinit}_la_SOURCES)/; - substituteLine($lookup, "DIST_SOURCES = $srces"); - } - } - - # make binary objects / libs - $lookup = $kdeinit . '_OBJECTS\s*=[ \t]*.*'; - if($MakefileData =~ m/\n$lookup/) { - $realObjs{$kdeinit} = "${kdeinit}.la.\$(OBJEXT)"; - substituteLine("${kdeinit}_LDFLAGS\\s*=.*", "${kdeinit}_LDFLAGS = \$(all_libraries)"); - substituteLine("${kdeinit}_LDADD\\s*=.*", "${kdeinit}_LDADD = libkdeinit_${kdeinit}.la"); - substituteLine("${kdeinit}_DEPENDENCIES\\s*=.*", "${kdeinit}_DEPENDENCIES = libkdeinit_${kdeinit}.la"); - } -=cut - # add binary - push(@programs, $kdeinit); - $realObjs{$kdeinit} = "${kdeinit}.la.\$(OBJEXT)"; - $realname{$kdeinit} = $kdeinit; - $sources{$kdeinit} = "${kdeinit}.la.$cxxsuffix"; - - $lines .= "${kdeinit}_LDFLAGS = \$(KDE_RPATH) -no-undefined \$(all_libraries)\n"; - $lines .= "${kdeinit}_LDADD = libkdeinit_${kdeinit}.la\n"; - $lines .= "${kdeinit}_DEPENDENCIES = libkdeinit_${kdeinit}.la\n"; - - $target_adds{"${kdeinit}\$(EXEEXT)"} = - "\$(${kdeinit}_OBJECTS) \$(${kdeinit}_DEPENDENCIES)\n" . - "\t\@rm -f ${kdeinit}\$(EXEEXT)\n" . - "\t\$(CXXLINK) \$(${kdeinit}_LDFLAGS) \$(${kdeinit}_OBJECTS) \$(${kdeinit}_LDADD) \$(LIBS)\n"; - - $ltlibs .= " libkdeinit_${kdeinit}.la"; - } - } - appendLines($lines); - - # add libkdeinit target - $lookup = 'lib_LTLIBRARIES\s*=[ \t]*(.*)'; - if($MakefileData =~ m/\n$lookup/) { - substituteLine($lookup, "lib_LTLIBRARIES = $1 $ltlibs"); - } - else { - print STDERR - "Error: lib_LTLIBRARIES missing in $printname (required for kdeinit_LTLIBRARIES).\n"; - $errorflag = 1; - } - } - - if($#progs >= 0) { - if($MakefileData !~ m/\nbin_PROGRAMS\s*=/) { - print STDERR "Error: bin_PROGRAMS missing in $printname (required for kdeinit_LTLIBRARIES).\n"; - $errorflag = 1; - } - else { - # add our new progs to SOURCES, DIST_SOURCES and bin_PROGRAMS - my $progsources = ""; - my $progexes = ""; - foreach my $p (@progs) { - $progsources .= "\$(${p}_SOURCES) "; - $progexes .= "${p}\$(EXEEXT) "; - } - $lookup = 'SOURCES\s*=[ \t]*(.*)'; - if($MakefileData =~ /\n$lookup/) { - substituteLine($lookup, "SOURCES = $1 $progsources"); - } - $lookup = 'DIST_SOURCES\s*=[ \t]*(.*)'; - if($MakefileData =~ /\n$lookup/) { - substituteLine($lookup, "DIST_SOURCES = $1 $progsources"); - } - # bin_PROGRAMS is complicated, as it exists twice, so we do a little - # magic trick here - $lookup = 'PROGRAMS\s*=[ \t]*(.*)'; - if ($MakefileData =~ /\n$lookup/) { - substituteLine($lookup, "bin_PROGRAMS += $progexes\nPROGRAMS = $1"); - } - } - } -} - -#----------------------------------------------------------------------------- - -sub tag_COMPILE_FIRST() -{ - foreach $program (@programs) { - my $lookup = "$program" . '_COMPILE_FIRST\s*=[ \t]*(.*)'; - if ($MakefileData =~ m/\n$lookup\n/) { - my $compilefirst_str = $1; - my @compilefirst = split(/[\034\s]+/, $compilefirst_str); - my @progsources = split(/[\034\s]+/, $sources{$program}); - my %donesources = (); - foreach $source (@progsources) { - my @deps = (); - my $sdeps = ""; - if (-f $source) { - $sdeps = "\$(srcdir)/$source"; - } else { - $sdeps = "$source"; - } - foreach $depend (@compilefirst) { - next if ($source eq $depend); - # avoid cyclic dependencies - next if defined($donesources{$depend}); - push @deps, $depend; - } - $target_adds{$sdeps} .= join(' ', @deps) . ' ' if (@deps); - $donesources{$source} = 1; - } - } - } -} - -#----------------------------------------------------------------------------- - - -# Organises the list of headers that we'll use to produce moc files -# from. -sub tag_METASOURCES () -{ - local @newObs = (); # here we add to create object files - local @depend = (); # here we add to create moc files - local $mocExt = ".moc"; - local %mocFiles = (); - - my $line = ""; - my $postEqual = ""; - - my $lookup; - my $found = ""; - if ($metasourceTags > 1) { - $lookup = $program . '_METASOURCES\s*=\s*(.*)'; - return 1 if ($MakefileData !~ /\n($lookup)\n/); - $found = $1; - } else { - $lookup = $program . '_METASOURCES\s*=\s*(.*)'; - if ($MakefileData !~ /\n($lookup)\n/) { - $lookup = 'METASOURCES\s*=\s*(.*)'; - return 1 if ($MakefileData !~ /\n($lookup)\n/); - $found = $1; - $metasourceTags = 0; # we can use the general target only once - } else { - $found = $1; - } - } - print STDOUT "METASOURCE processing <$found>)\n" if ($verbose); - - $postEqual = $found; - $postEqual =~ s/[^=]*=//; - - removeLine ($lookup, $found); - - # Always find the header files that could be used to "moc" - return 1 if (findMocCandidates ()); - - if ($postEqual =~ /AUTO\s*(\S*)|USE_AUTOMOC\s*(\S*)/) - { - print STDERR "$printname: the argument for AUTO|USE_AUTOMOC is obsolete" if ($+); - $mocExt = ".moc.$cxxsuffix"; - $haveAutomocTag = 1; - } - else - { - # Not automoc so read the list of files supplied which - # should be .moc files. - - $postEqual =~ tr/\034/ /; - - # prune out extra headers - This also checks to make sure that - # the list is valid. - pruneMocCandidates ($postEqual); - } - - checkMocCandidates (); - - if (@newObs) { - my $ext = ($program =~ /_la$/) ? ".moc.lo " : ".moc.o "; - $realObjs{$program} .= "\034" . join ($ext, @newObs) . $ext; - $dependmocs{$program} = join (".moc.$cxxsuffix " , @newObs) . ".moc.$cxxsuffix"; - foreach $file (@newObs) { - $dep_files .= " \$(DEPDIR)/$file.moc.P" if($dep_files !~/$file.moc.P/); - } - } - if (@depend) { - $dependmocs{$program} .= " "; - $dependmocs{$program} .= join('.moc ', @depend) . ".moc"; - $dependmocs{$program} .= " "; - } - addMocRules (); - @globalmocs{keys %mocFiles}=values %mocFiles; -} - -#----------------------------------------------------------------------------- - -# Returns 0 if the line was processed - 1 otherwise. -# Errors are logged in the global $errorflags -sub tag_AUTOMAKE () -{ - my $lookup = '.*cd \$\(top_srcdir\)\s+&&[\034\s]+\$\(AUTOMAKE\)(.*)'; - return 1 if ($MakefileData !~ /\n($lookup)\n/); - print STDOUT "AUTOMAKE processing <$1>\n" if ($verbose); - - my $newLine = $1."\n\tcd \$(top_srcdir) && perl $thisProg $printname"; - - # automake 1.8.x adds another automake call. *sigh* - $newLine =~ s/;([\034\s]+cd\s+\$\(srcdir\)\s+&&[\034\s]+\$\(AUTOMAKE\).*)[\034\s]+\&\&[\034\s]+exit[\034\s]+0;([\034\s]+exit\s+1)/; \034 ( $1 ) || exit 1; echo \' cd \$(top_srcdir) && perl $thisProg \'; cd \$(top_srcdir) && perl $thisProg && exit 0; $2/; - substituteLine ($lookup, $newLine); - $automkCall = $1; - - $lookup = '.*cd \$\(srcdir\)\s+&&[\034\s]+\$\(AUTOCONF\)(.*)'; - if ($MakefileData =~ /\n($lookup)\n/) { - $newLine = "\tcd \$(srcdir) && rm -f configure\n"; - $newLine .= "\tcd \$(top_srcdir) && \$(MAKE) -f admin/Makefile.common configure"; - substituteLine ($lookup, $newLine); - } - - return 0; -} - -#----------------------------------------------------------------------------- - -sub handle_TOPLEVEL() -{ - my $pofiles = ""; - my @restfiles = (); - opendir (THISDIR, "."); - foreach $entry (readdir(THISDIR)) { - next if (-d $entry); - - next if ($entry eq "CVS" || $entry =~ /^\./ || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/ || $entry =~ /.gmo$/); - - if ($entry =~ /\.po$/) { - next; - } - push(@restfiles, $entry); - } - closedir (THISDIR); - - if (@restfiles) { - $target_adds{"install-data-am"} .= "install-nls-files "; - $lines = "install-nls-files:\n"; - $lines .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/$kdelang\n"; - for $file (@restfiles) { - $lines .= "\t\$(INSTALL_DATA) \$\(srcdir\)/$file \$(DESTDIR)\$(kde_locale)/$kdelang/$file\n"; - } - $target_adds{"uninstall"} .= "uninstall-nls-files "; - $lines .= "uninstall-nls-files:\n"; - for $file (@restfiles) { - $lines .= "\t-rm -f \$(DESTDIR)\$(kde_locale)/$kdelang/$file\n"; - } - appendLines($lines); - } - - return 0; -} - -#----------------------------------------------------------------------------- - -sub tag_SUBDIRS () -{ - if ($MakefileData !~ /\nSUBDIRS\s*=\s*\$\(AUTODIRS\)\s*\n/) { - return 1; - } - - my $subdirs = "."; - - opendir (THISDIR, "."); - foreach $entry (readdir(THISDIR)) { - next if ($entry eq "CVS" || $entry =~ /^\./); - if (-d $entry && -f $entry . "/Makefile.am") { - $subdirs .= " $entry"; - next; - } - } - closedir (THISDIR); - - substituteLine('SUBDIRS\s*=.*', "SUBDIRS =$subdirs"); - return 0; -} - -sub tag_IDLFILES () -{ - my @psources = split(/[\034\s]+/, $sources{$program}); - my $dep_lines = ""; - my @cppFiles = (); - - foreach $source (@psources) { - my $skel = ($source =~ m/\.skel$/); - my $stub = ($source =~ m/\.stub$/); - my $signals = ($source =~ m/\.signals$/); # obsolete, remove in KDE-4 - - if ($stub || $skel || $signals) { - - my $qs = quotemeta($source); - $sources{$program} =~ s/$qs//; - $sources_changed{$program} = 1; - - $source =~ s/\.(stub|skel|signals)$//; - my $sourcename; - - if ($skel) { - $sourcename = "$source\_skel"; - } elsif ($stub) { - $sourcename = "$source\_stub"; - } else { - $sourcename = "$source\_signals"; - } - - my $sourcedir = ''; - if (-f "$makefileDir/$source.h") { - $sourcedir = '$(srcdir)/'; - } else { - if ($MakefileData =~ /\n$source\_DIR\s*=\s*(\S+)\n/) { - $sourcedir = $1; - $sourcedir .= "/" if ($sourcedir !~ /\/$/); - } - } - - if ($allidls !~ /$source\_kidl/) { - - $use_ng = ($MakefileData =~ /\n$source\_DCOPIDLNG\s*=\s*(\S+)\n/); - $dcopidl = $use_ng ? "KDECONFIG=\"\$(KDECONFIG)\" \$(DCOPIDLNG)" : "\$(DCOPIDL)"; - - $dep_lines .= "$source.kidl: $sourcedir$source.h \$(DCOP_DEPENDENCIES)\n"; - $dep_lines .= "\t$dcopidl $sourcedir$source.h > $source.kidl || ( rm -f $source.kidl ; false )\n"; - - $allidls .= $source . "_kidl "; - } - - if ($allidls !~ /$sourcename/) { - - $dep_lines_tmp = ""; - - if ($skel) { - $dep_lines .= "$sourcename.$cxxsuffix: $source.kidl\n"; - $dep_lines .= "\t\$(DCOPIDL2CPP) --c++-suffix $cxxsuffix --no-signals --no-stub $source.kidl\n"; - } elsif ($stub) { - $dep_lines_tmp = "\t\$(DCOPIDL2CPP) --c++-suffix $cxxsuffix --no-signals --no-skel $source.kidl\n"; - } else { # signals - obsolete, remove in KDE 4 - $dep_lines_tmp = "\t\$(DCOPIDL2CPP) --c++-suffix $cxxsuffix --no-stub --no-skel $source.kidl\n"; - } - - if ($stub || $signals) { - $target_adds{"$sourcename.$cxxsuffix"} .= "$sourcename.h "; - $dep_lines .= "$sourcename.h: $source.kidl\n"; - $dep_lines .= $dep_lines_tmp; - } - - $allidls .= $sourcename . " "; - } - - $idlfiles{$program} .= $sourcename . " "; - - if ($program =~ /_la$/) { - $realObjs{$program} .= " $sourcename.lo"; - } else { - $realObjs{$program} .= " $sourcename.\$(OBJEXT)"; - } - $sources{$program} .= " $sourcename.$cxxsuffix"; - $sources_changed{$program} = 1; - $important{$program} .= "$sourcename.h " if (!$skel); - $idl_output .= "\\\n\t$sourcename.$cxxsuffix $sourcename.h $source.kidl "; - push(@cleanfiles, "$sourcename.$cxxsuffix"); - push(@cleanfiles, "$sourcename.h"); - push(@cleanfiles, "$sourcename.kidl"); - $dep_files .= " \$(DEPDIR)/$sourcename.P" if ($dep_files !~/$sourcename.P/); - } - } - if ($dep_lines) { - appendLines($dep_lines); - } - - if (0) { - my $lookup = "($program)"; - $lookup .= '(|\$\(EXEEXT\))'; - $lookup =~ s/\_/./g; - $lookup .= ":(.*..$program\_OBJECTS..*)"; - # $lookup = quotemeta($lookup); - if ($MakefileData =~ /\n$lookup\n/) { - - my $line = "$1$2: "; - foreach $file (split(' ', $idlfiles{$program})) { - $line .= "$file.$cxxsuffix "; - } - $line .= $3; - substituteLine($lookup, $line); - } else { - print STDERR "no built dependency found $lookup\n"; - } - } -} - -sub tag_UIFILES () -{ - my @psources = split(/[\034\s]+/, $sources{$program}); - my @depFiles = (); - - foreach $source (@psources) { - - if ($source =~ m/\.ui$/) { - - print STDERR "adding UI file $source\n" if ($verbose); - - my $qs = quotemeta($source); - $sources{$program} =~ s/$qs//; - $sources_changed{$program} = 1; - - $source =~ s/\.ui$//; - - my $sourcedir = ''; - if (-f "$makefileDir/$source.ui") { - $sourcedir = '$(srcdir)/'; - } - - if (!$uiFiles{$source}) { - - my $dep_lines = "$source.$cxxsuffix: $sourcedir$source.ui $source.h $source.moc\n"; - $dep_lines .= "\trm -f $source.$cxxsuffix\n"; - if (!$kdeopts{"qtonly"}) { - $dep_lines .= "\techo '#include <kdialog.h>' > $source.$cxxsuffix\n"; - $dep_lines .= "\techo '#include <klocale.h>' >> $source.$cxxsuffix\n"; - my ($mangled_source) = $source; - $mangled_source =~ s/[^A-Za-z0-9]/_/g; # get rid of garbage - $dep_lines .= "\t\$(UIC) -tr \${UIC_TR} -i $source.h $sourcedir$source.ui > $source.$cxxsuffix.temp ; ret=\$\$?; \\\n"; - $dep_lines .= "\t\$(PERL) -pe \"s,\${UIC_TR}( \\\"\\\" ),QString::null,g\" $source.$cxxsuffix.temp | \$(PERL) -pe \"s,\${UIC_TR}( \\\"\\\"\\, \\\"\\\" ),QString::null,g\" | \$(PERL) -pe \"s,image([0-9][0-9]*)_data,img\\\$\$1_" . $mangled_source . ",g\" | \$(PERL) -pe \"s,: QWizard\\(,: KWizard(,g\" >> $source.$cxxsuffix ;\\\n"; - $dep_lines .= "\trm -f $source.$cxxsuffix.temp ;\\\n"; - } else { - $dep_lines .= "\t\$(UIC) -i $source.h $sourcedir$source.ui > $source.$cxxsuffix; ret=\$\$?; \\\n"; - } - $dep_lines .= "\tif test \"\$\$ret\" = 0; then echo '#include \"$source.moc\"' >> $source.$cxxsuffix; else rm -f $source.$cxxsuffix ; exit \$\$ret ; fi\n\n"; - $dep_lines .= "$source.h: $sourcedir$source.ui\n"; - $dep_lines .= "\trm -rf $source.h;\n"; - if (!$kdeopts{"qtonly"}) { - $dep_lines .= "\t\$(UIC) $sourcedir$source.ui | \$(PERL) -pi -e \"s,public QWizard,public KWizard,g; s,#include <qwizard.h>,#include <kwizard.h>,g\" >> $source.h ;\n"; - } else { - $dep_lines .= "\t\$(UIC) -o $source.h $sourcedir$source.ui\n"; - } - $dep_lines .= "$source.moc: $source.h\n"; - $dep_lines .= "\t\$(MOC) $source.h -o $source.moc\n"; - - $rule_adds{"$source.$cxxsuffix"} = $dep_lines; - - $uiFiles{$source} = 1; - $dependmocs{$program} .= " $source.moc"; - $globalmocs{$source} = "\035$source.h\035$source.cpp"; - } - - if ($program =~ /_la$/) { - $realObjs{$program} .= " $source.lo"; - } else { - $realObjs{$program} .= " $source.\$(OBJEXT)"; - } - $sources{$program} .= " $source.$cxxsuffix"; - $sources_changed{$program} = 1; - $important{$program} .= "$source.h "; - $ui_output .= "\\\n\t$source.$cxxsuffix $source.h $source.moc "; - push(@cleanfiles, "$source.$cxxsuffix"); - push(@cleanfiles, "$source.h"); - push(@cleanfiles, "$source.moc"); - $dep_files .= " \$(DEPDIR)/$source.P" if($dep_files !~/$source.P/ ); - } - } -} - -sub tag_KCFGFILES () -{ - my @psources = split(/[\034\s]+/, $sources{$program}); - my @depFiles = (); - - foreach $source (@psources) { - - if ($source =~ m/\.kcfgc$/) { - - print STDERR "adding KCFG file $source\n" if ($verbose); - - my $qs = quotemeta($source); - $sources{$program} =~ s/$qs//; - $sources_changed{$program} = 1; - - $source =~ s/\.kcfgc$//; - - my $sourcedir = ''; - if (-f "$makefileDir/$source.kcfgc") { - $sourcedir = '$(srcdir)/'; - } - - if (!$kcfgFiles{$source}) { - $kcfg = "$program.kcfg"; - findKcfgFile("$source.kcfgc"); - - my $fixsuffix = ""; - $fixsuffix = "else mv $source.cpp $source.$cxxsuffix ; " - unless "cpp" eq $cxxsuffix; - - my $dep_lines = "$source.$cxxsuffix: $source.h\n"; - $dep_lines .= "$source.h: $sourcedir$kcfg $sourcedir$source.kcfgc \$(KCFG_DEPENDENCIES)\n"; - $dep_lines .= "\t\$(KCONFIG_COMPILER) $sourcedir$kcfg $sourcedir$source.kcfgc; ret=\$\$?; \\\n"; - $dep_lines .= "\tif test \"\$\$ret\" != 0; then rm -f $source.h ; exit \$\$ret ; $fixsuffix fi\n\n"; - - $rule_adds{"$source.$cxxsuffix"} = $dep_lines; - - $kcfgFiles{$source} = 1; - } - - if ($program =~ /_la$/) { - $realObjs{$program} .= " $source.lo"; - } else { - $realObjs{$program} .= " $source.\$(OBJEXT)"; - } - $sources{$program} .= " $source.$cxxsuffix"; - $sources_changed{$program} = 1; - $important{$program} .= "$source.h "; - $kcfg_output .= "\\\n\t$source.$cxxsuffix $source.h "; - push(@cleanfiles, "$source.$cxxsuffix"); - push(@cleanfiles, "$source.h"); - $dep_files .= " \$(DEPDIR)/$source.P" if($dep_files !~/$source.P/ ); - } - } -} - -sub tag_ICON() -{ - my $lookup = '([^\s]*)_ICON\s*=[ \t]*(.*)'; - my $install = ""; - my $uninstall = ""; - - while ($MakefileData =~ /\n$lookup/g) { - my $destdir; - if ($1 eq "KDE") { - $destdir = "kde_icondir"; - } else { - $destdir = $1 . "dir"; - } - my $iconauto = ($2 =~ /AUTO\s*$/); - my @appnames = (); - if ( ! $iconauto ) { - my $appicon_str = $2; - my @_appnames = split(" ", $appicon_str); - print STDOUT "KDE_ICON processing <@_appnames>\n" if ($verbose); - foreach $appname (@_appnames) { - push(@appnames, quotemeta($appname)); - } - } else { - print STDOUT "KDE_ICON processing <AUTO>\n" if ($verbose); - } - - my @files = (); - opendir (THISDIR, "."); - foreach $entry (readdir(THISDIR)) { - next if ($entry eq "CVS" || $entry =~ /^\./ || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/); - next if (! -f $entry); - if ( $iconauto ) - { - push(@files, $entry) - if ($entry =~ /\.xpm/ || $entry =~ /\.png/ || $entry =~ /\.mng/ || $entry =~ /\.svg/); - } else { - foreach $appname (@appnames) { - push(@files, $entry) - if ($entry =~ /-$appname\.xpm/ || $entry =~ /-$appname\.png/ || $entry =~ /-$appname\.mng/ || $entry =~ /-$appname\.svg/); - } - } - } - closedir (THISDIR); - - my %directories = (); - - foreach $file (@files) { - my $newfile = $file; - my $prefix = $file; - $prefix =~ s/\.(png|xpm|mng|svg|svgz)$//; - my $appname = $prefix; - $appname =~ s/^[^-]+-// if ($appname =~ /-/) ; - $appname =~ s/^[^-]+-// if ($appname =~ /-/) ; - $appname = quotemeta($appname); - $prefix =~ s/$appname$//; - $prefix =~ s/-$//; - - $prefix = 'lo16-app' if ($prefix eq 'mini'); - $prefix = 'lo32-app' if ($prefix eq 'lo'); - $prefix = 'hi48-app' if ($prefix eq 'large'); - $prefix .= '-app' if ($prefix =~ m/^...$/); - - my $type = $prefix; - $type =~ s/^.*-([^-]+)$/$1/; - $prefix =~ s/^(.*)-[^-]+$/$1/; - - my %type_hash = - ( - 'action' => 'actions', - 'app' => 'apps', - 'device' => 'devices', - 'filesys' => 'filesystems', - 'mime' => 'mimetypes' - ); - - if (! defined $type_hash{$type} ) { - print STDERR "unknown icon type $type in $printname ($file)\n"; - next; - } - - my %dir_hash = - ( - 'los' => 'locolor/16x16', - 'lom' => 'locolor/32x32', - 'him' => 'hicolor/32x32', - 'hil' => 'hicolor/48x48', - 'lo16' => 'locolor/16x16', - 'lo22' => 'locolor/22x22', - 'lo32' => 'locolor/32x32', - 'hi16' => 'hicolor/16x16', - 'hi22' => 'hicolor/22x22', - 'hi32' => 'hicolor/32x32', - 'hi48' => 'hicolor/48x48', - 'hi64' => 'hicolor/64x64', - 'hi128' => 'hicolor/128x128', - 'hisc' => 'hicolor/scalable', - 'cr16' => 'crystalsvg/16x16', - 'cr22' => 'crystalsvg/22x22', - 'cr32' => 'crystalsvg/32x32', - 'cr48' => 'crystalsvg/48x48', - 'cr64' => 'crystalsvg/64x64', - 'cr128' => 'crystalsvg/128x128', - 'crsc' => 'crystalsvg/scalable' - ); - - $newfile =~ s@.*-($appname\.(png|xpm|mng|svgz|svg?))@$1@; - - if (! defined $dir_hash{$prefix}) { - print STDERR "unknown icon prefix $prefix in $printname\n"; - next; - } - - my $dir = $dir_hash{$prefix} . "/" . $type_hash{$type}; - if ($newfile =~ /-[^\.]/) { - my $tmp = $newfile; - $tmp =~ s/^([^-]+)-.*$/$1/; - $dir = $dir . "/" . $tmp; - $newfile =~ s/^[^-]+-//; - } - - if (!defined $directories{$dir}) { - $install .= "\t\$(mkinstalldirs) \$(DESTDIR)\$($destdir)/$dir\n"; - $directories{$dir} = 1; - } - - $install .= "\t\$(INSTALL_DATA) \$(srcdir)/$file \$(DESTDIR)\$($destdir)/$dir/$newfile\n"; - $uninstall .= "\t-rm -f \$(DESTDIR)\$($destdir)/$dir/$newfile\n"; - - } - } - - if (length($install)) { - $target_adds{"install-data-am"} .= "install-kde-icons "; - $target_adds{"uninstall-am"} .= "uninstall-kde-icons "; - appendLines("install-kde-icons:\n" . $install . "\nuninstall-kde-icons:\n" . $uninstall); - } -} - -sub handle_POFILES($$) -{ - my @pofiles = split(" ", $_[0]); - my $lang = $_[1]; - - # Build rules for creating the gmo files - my $tmp = ""; - my $allgmofiles = ""; - my $pofileLine = "POFILES ="; - foreach $pofile (@pofiles) - { - $pofile =~ /(.*)\.[^\.]*$/; # Find name minus extension - $tmp .= "$1.gmo: $pofile\n"; - $tmp .= "\trm -f $1.gmo; \$(GMSGFMT) -o $1.gmo \$(srcdir)/$pofile\n"; - $tmp .= "\ttest ! -f $1.gmo || touch $1.gmo\n"; - $allgmofiles .= " $1.gmo"; - $pofileLine .= " $1.po"; - } - appendLines ($tmp); - my $lookup = 'POFILES\s*=([^\n]*)'; - if ($MakefileData !~ /\n$lookup/) { - appendLines("$pofileLine\nGMOFILES =$allgmofiles"); - } else { - substituteLine ($lookup, "$pofileLine\nGMOFILES =$allgmofiles"); - } - - if ($allgmofiles) { - - # Add the "clean" rule so that the maintainer-clean does something - appendLines ("clean-nls:\n\t-rm -f $allgmofiles\n"); - - $target_adds{"maintainer-clean"} .= "clean-nls "; - - $lookup = 'DISTFILES\s*=[ \t]*(.*)'; - if ($MakefileData =~ /\n$lookup/) { - $tmp = "DISTFILES = \$(GMOFILES) \$(POFILES) $1"; - substituteLine ($lookup, $tmp); - } - } - - $target_adds{"install-data-am"} .= "install-nls "; - - $tmp = "install-nls:\n"; - if ($lang) { - $tmp .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES\n"; - } - $tmp .= "\t\@for base in "; - foreach $pofile (@pofiles) - { - $pofile =~ /(.*)\.[^\.]*$/; # Find name minus extension - $tmp .= "$1 "; - } - - $tmp .= "; do \\\n"; - if ($lang) { - $tmp .= "\t echo \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/\$\$base.mo ;\\\n"; - $tmp .= "\t if test -f \$\$base.gmo; then \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/\$\$base.mo ;\\\n"; - $tmp .= "\t elif test -f \$(srcdir)/\$\$base.gmo; then \$(INSTALL_DATA) \$(srcdir)/\$\$base.gmo \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/\$\$base.mo ;\\\n"; - $tmp .= "\t fi ;\\\n"; - } else { - $tmp .= "\t echo \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES/\$(PACKAGE).mo ;\\\n"; - $tmp .= "\t \$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES ; \\\n"; - $tmp .= "\t if test -f \$\$base.gmo; then \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES/\$(PACKAGE).mo ;\\\n"; - $tmp .= "\t elif test -f \$(srcdir)/\$\$base.gmo; then \$(INSTALL_DATA) \$(srcdir)/\$\$base.gmo \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES/\$(PACKAGE).mo ;\\\n"; - $tmp .= "\t fi ;\\\n"; - } - $tmp .= "\tdone\n\n"; - appendLines ($tmp); - - $target_adds{"uninstall"} .= "uninstall-nls "; - - $tmp = "uninstall-nls:\n"; - foreach $pofile (@pofiles) - { - $pofile =~ /(.*)\.[^\.]*$/; # Find name minus extension - if ($lang) { - $tmp .= "\trm -f \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/$1.mo\n"; - } else { - $tmp .= "\trm -f \$(DESTDIR)\$(kde_locale)/$1/LC_MESSAGES/\$(PACKAGE).mo\n"; - } - } - appendLines($tmp); - - $target_adds{"all"} .= "all-nls "; - - $tmp = "all-nls: \$(GMOFILES)\n"; - - appendLines($tmp); - - $target_adds{"distdir"} .= "distdir-nls "; - - $tmp = "distdir-nls:\$(GMOFILES)\n"; - $tmp .= "\tfor file in \$(POFILES); do \\\n"; - $tmp .= "\t cp \$(srcdir)/\$\$file \$(distdir); \\\n"; - $tmp .= "\tdone\n"; - $tmp .= "\tfor file in \$(GMOFILES); do \\\n"; - $tmp .= "\t cp \$(srcdir)/\$\$file \$(distdir); \\\n"; - $tmp .= "\tdone\n"; - - appendLines ($tmp); - - if (!$lang) { - appendLines("merge:\n\t\$(MAKE) -f \$(top_srcdir)/admin/Makefile.common package-merge POFILES=\"\${POFILES}\" PACKAGE=\${PACKAGE}\n\n"); - } - -} - -#----------------------------------------------------------------------------- - -# Returns 0 if the line was processed - 1 otherwise. -# Errors are logged in the global $errorflags -sub tag_POFILES () -{ - my $lookup = 'POFILES\s*=([^\n]*)'; - return 1 if ($MakefileData !~ /\n$lookup/); - print STDOUT "POFILES processing <$1>\n" if ($verbose); - - my $tmp = $1; - - # make sure these are all gone. - if ($MakefileData =~ /\n\.po\.gmo:\n/) - { - print STDERR "Warning: Found old .po.gmo rules in $printname. New po rules not added\n"; - return 1; - } - - # Either find the pofiles in the directory (AUTO) or use - # only the specified po files. - my $pofiles = ""; - if ($tmp =~ /^\s*AUTO\s*$/) - { - opendir (THISDIR, "."); - $pofiles = join(" ", grep(/\.po$/, readdir(THISDIR))); - closedir (THISDIR); - print STDOUT "pofiles found = $pofiles\n" if ($verbose); - if (-f "charset" && -f "kdelibs/kdelibs.po") { - handle_TOPLEVEL(); - } - } - else - { - $tmp =~ s/\034/ /g; - $pofiles = $tmp; - } - return 1 if (!$pofiles); # Nothing to do - - handle_POFILES($pofiles, $kdelang); - - return 0; -} - -sub helper_LOCALINSTALL($) -{ - my $lookup = "\035" . $_[0] . " *:[^\035]*\035\t"; - my $copy = $MakefileData; - $copy =~ s/\n/\035/g; - if ($copy =~ /($lookup.*)$/) { - - $install = $1; - $install =~ s/\035$_[0] *:[^\035]*\035//; - my $emptyline = 0; - while (! $emptyline ) { - if ($install =~ /([^\035]*)\035(.*)/) { - local $line = $1; - $install = $2; - if ($line !~ /^\s*$/ && $line !~ /^(\@.*\@)*\t/) { - $emptyline = 1; - } else { - replaceDestDir($line); - } - } else { - $emptyline = 1; - } - } - } - -} - -sub tag_LOCALINSTALL () -{ - helper_LOCALINSTALL('install-exec-local'); - helper_LOCALINSTALL('install-data-local'); - helper_LOCALINSTALL('uninstall-local'); - - return 0; -} - -sub replaceDestDir($) { - local $line = $_[0]; - - if ( $line =~ /^\s*(\@.*\@)*\s*\$\(mkinstalldirs\)/ - || $line =~ /^\s*(\@.*\@)*\s*\$\(INSTALL\S*\)/ - || $line =~ /^\s*(\@.*\@)*\s*(-?rm.*) \S*$/) - { - $line =~ s/^(.*) ([^\s]+)\s*$/$1 \$(DESTDIR)$2/ if ($line !~ /\$\(DESTDIR\)/); - } - - if ($line ne $_[0]) { - $_[0] = quotemeta $_[0]; - substituteLine($_[0], $line); - } -} - -#--------------------------------------------------------------------------- -# libtool is very hard to persuade it could use -Wl,--no-undefined for making -# -no-undefined actually work -# append $(KDE_NO_UNFINED) after every -no-undefined in LDFLAGS -# this may go away if libtool ever does this on its own -sub tag_NO_UNDEFINED () { - return if ($program !~ /_la$/); - - my $lookup = quotemeta($realname{$program}) . ":.*?\n\t.*?\\((.*?)\\) .*\n"; - $MakefileData =~ m/$lookup/; - return if (!defined($1)); - return if ($1 !~ /CXXLINK/); - - if ($MakefileData !~ /\n$program\_LDFLAGS\s*=.*-no-undefined/ ) { - return; - } - - $lookup = $program . '\_LDFLAGS(\s*)=(.*)-no-undefined(.*)'; - if ($MakefileData =~ /\n$lookup\n/) { - my $replace = $program . "\_LDFLAGS$1=$2-no-undefined \$(KDE_NO_UNDEFINED)$3"; - substituteLine($lookup, $replace); - } -} - -sub tag_CLOSURE () { - return if ($program !~ /_la$/); - - my $lookup = quotemeta($realname{$program}) . ":.*?\n\t.*?\\((.*?)\\) .*\n"; - $MakefileData =~ m/$lookup/; - return if (!defined($1)); - return if ($1 !~ /CXXLINK/); - - if ($MakefileData !~ /\n$program\_LDFLAGS\s*=.*-no-undefined/ && - $MakefileData !~ /\n$program\_LDFLAGS\s*=.*KDE_PLUGIN/ ) { - print STDERR "Report: $program contains undefined in $printname\n" if ($program =~ /^lib/ && $dryrun); - return; - } - - my $closure = $realname{$program} . ".closure"; - my $lines = "$closure: \$($program\_OBJECTS) \$($program\_DEPENDENCIES)\n"; - $lines .= "\t\@echo \"int main() {return 0;}\" > $program\_closure.$cxxsuffix\n"; - $lines .= "\t\@\$\(LTCXXCOMPILE\) -c $program\_closure.$cxxsuffix\n"; - $lines .= "\t\$\(CXXLINK\) $program\_closure.lo \$($program\_LDFLAGS) \$($program\_OBJECTS) \$($program\_LIBADD) \$(LIBS)\n"; - $lines .= "\t\@rm -f $program\_closure.* $closure\n"; - $lines .= "\t\@echo \"timestamp\" > $closure\n"; - $lines .= "\n"; - appendLines($lines); - $lookup = $realname{$program} . ": (.*)"; - if ($MakefileData =~ /\n$lookup\n/) { - $lines = "\@KDE_USE_CLOSURE_TRUE@". $realname{$program} . ": $closure $1"; - $lines .= "\n\@KDE_USE_CLOSURE_FALSE@" . $realname{$program} . ": $1"; - substituteLine($lookup, $lines); - } - $closure_output .= " $closure"; -} - -sub tag_NMCHECK () { - return if ($program !~ /_la$/); - my $lookup = quotemeta($realname{$program}) . ":.*?\n\t.*?\\((.*?)\\) .*\n"; - $MakefileData =~ m/$lookup/; - my $linkcmd = $1; - return if (!defined($1)); - return if ($linkcmd !~ /CXXLINK/ && $linkcmd !~ /LINK/); - - $lookup = $program . '_NMCHECK\s*=([^\n]*)'; - if( $MakefileData !~ m/\n$lookup\n/ ) { - return; - } - my $allowed = $1; - $allowed =~ s/^ *//; - $lookup = $program . '_NMCHECKWEAK\s*=([^\n]*)'; - my $weak = ""; - my $is_weak = 0; - if( $MakefileData =~ m/\n$lookup\n/ ) { - $weak = $1; - $is_weak = 1; - } - $weak =~ s/^ *//; - - if( $is_weak ) - { - $weak = '--allowweak=\'' . $weak . '\' '; - } - my $nmline = "\@KDE_USE_NMCHECK_TRUE@\t\@\$(MAKE) \$(AM_MAKEFLAGS) nmcheck_$realname{$program} || ( rm -f $realname{$program}; exit 1 )"; - $lookup = '(\t\$\(CXXLINK\)[^\n]*' . $program . '_OBJECTS[^\n]*)'; - if( $MakefileData =~ /\n$lookup\n/ ) { - my $oldstuff = $1; - substituteLine( $lookup, $oldstuff . "\n" . $nmline ); - } - $lookup = '(\t\$\(LINK\)[^\n]*' . $program . '_OBJECTS[^\n]*)'; - if( $MakefileData =~ /\n$lookup\n/ ) { - my $oldstuff = $1; - substituteLine( $lookup, $oldstuff . "\n" . $nmline ); - } - $nmline = "\@\$(top_srcdir)/admin/nmcheck $realname{$program} \'$allowed\' $weak"; - appendLines( "\nnmcheck_$realname{$program}: $realname{$program} \n\t$nmline\n" ); - $target_adds{ "nmcheck" } .= "nmcheck_$realname{$program} "; -} - -sub tag_DIST () { - my %foundfiles = (); - opendir (THISDIR, "."); - foreach $entry (readdir(THISDIR)) { - next if ($entry eq "CVS" || $entry =~ /^\./ || $entry eq "Makefile" || $entry =~ /~$/ || $entry =~ /^\#.*\#$/); - next if (! -f $entry); - next if ($entry =~ /\.moc/ || $entry =~ /\.moc.$cppExt$/ || $entry =~ /\.lo$/ || $entry =~ /\.la$/ || $entry =~ /\.o/); - next if ($entry =~ /\.all_$cppExt\.$cppExt$/); - $foundfiles{$entry} = 1; - } - closedir (THISDIR); - - # doing this for MAINTAINERCLEANFILES would be wrong - my @marks = ("EXTRA_DIST", "DIST_COMMON", '\S*_SOURCES', '\S*_HEADERS', 'CLEANFILES', 'DISTCLEANFILES', '\S*_OBJECTS'); - foreach $mark (@marks) { - while ($MakefileData =~ /\n($mark)\s*=[ \t]*([^\n]*)/g) { - my $cleanfiles_str = $2; - foreach $file (split('[\034\s]+', $cleanfiles_str)) { - $file =~ s/\.\///; - $foundfiles{$file} = 0 if (defined $foundfiles{$file}); - } - } - } - my @files = ("Makefile", "config.cache", "config.log", "stamp-h", - "stamp-h1", "stamp-h1", "config.h", "Makefile", - "config.status", "config.h", "libtool", "core" ); - foreach $file (@files) { - $foundfiles{$file} = 0 if (defined $foundfiles{$file}); - } - - my $KDE_DIST = ""; - foreach $file (keys %foundfiles) { - if ($foundfiles{$file} == 1) { - $KDE_DIST .= "$file "; - } - } - if ($KDE_DIST) { - print "KDE_DIST $printname $KDE_DIST\n" if ($verbose); - - my $lookup = 'DISTFILES\s*=[ \t]*(.*)'; - if ($MakefileData =~ /\n$lookup/) { - substituteLine($lookup, "DISTFILES = $1 \$(KDE_DIST)"); - appendLines("KDE_DIST=$KDE_DIST\n"); - } - } -} - -#----------------------------------------------------------------------------- -# Returns 0 if the line was processed - 1 otherwise. -# Errors are logged in the global $errorflags -sub tag_DOCFILES () -{ - $target_adds{"all"} .= "docs-am "; - - my $lookup = 'KDE_DOCS\s*=[ \t]*([^\n]*)'; - goto nodocs if ($MakefileData !~ /\n$lookup/); - print STDOUT "KDE_DOCS processing <$1>\n" if ($verbose); - - my $tmp = $1; - - # Either find the files in the directory (AUTO) or use - # only the specified po files. - my $files = ""; - my $appname = $tmp; - $appname =~ s/^(\S*)\s*.*$/$1/; - if ($appname =~ /AUTO/) { - $appname = basename($makefileDir); - if ("$appname" eq "en") { - print STDERR "Error: KDE_DOCS = AUTO relies on the directory name. Yours is 'en' - you most likely want something else, e.g. KDE_DOCS = myapp\n"; - exit(1); - } - } - - if ($tmp !~ / - /) - { - opendir (THISDIR, "."); - foreach $entry (readdir(THISDIR)) { - next if ($entry eq "CVS" || $entry =~ /^\./ || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/ || $entry eq "core" || $entry eq "index.cache.bz2"); - next if (! -f $entry); - $files .= "$entry "; - } - closedir (THISDIR); - print STDOUT "docfiles found = $files\n" if ($verbose); - } - else - { - $tmp =~ s/\034/ /g; - $tmp =~ s/^\S*\s*-\s*//; - $files = $tmp; - } - goto nodocs if (!$files); # Nothing to do - - if ($files =~ /(^| )index\.docbook($| )/) { - - my $lines = ""; - my $lookup = 'MEINPROC\s*='; - if ($MakefileData !~ /\n($lookup)/) { - $lines = "MEINPROC=/\$(kde_bindir)/meinproc\n"; - } - $lookup = 'KDE_XSL_STYLESHEET\s*='; - if ($MakefileData !~ /\n($lookup)/) { - $lines .= "KDE_XSL_STYLESHEET=/\$(kde_datadir)/ksgmltools2/customization/kde-chunk.xsl\n"; - } - $lookup = '\nindex.cache.bz2:'; - if ($MakefileData !~ /\n($lookup)/) { - $lines .= "index.cache.bz2: \$(srcdir)/index.docbook \$(KDE_XSL_STYLESHEET) $files\n"; - $lines .= "\t\@if test -n \"\$(MEINPROC)\"; then echo \$(MEINPROC) --check --cache index.cache.bz2 \$(srcdir)/index.docbook; \$(MEINPROC) --check --cache index.cache.bz2 \$(srcdir)/index.docbook; fi\n"; - $lines .= "\n"; - } - - $lines .= "docs-am: index.cache.bz2\n"; - $lines .= "\n"; - $lines .= "install-docs: docs-am install-nls\n"; - $lines .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname\n"; - $lines .= "\t\@if test -f index.cache.bz2; then \\\n"; - $lines .= "\techo \$(INSTALL_DATA) index.cache.bz2 \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/; \\\n"; - $lines .= "\t\$(INSTALL_DATA) index.cache.bz2 \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/; \\\n"; - $lines .= "\telif test -f \$(srcdir)/index.cache.bz2; then \\\n"; - $lines .= "\techo \$(INSTALL_DATA) \$(srcdir)/index.cache.bz2 \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/; \\\n"; - $lines .= "\t\$(INSTALL_DATA) \$(srcdir)/index.cache.bz2 \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/; \\\n"; - $lines .= "\tfi\n"; - $lines .= "\t-rm -f \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/common\n"; - $lines .= "\t\$(LN_S) \$(kde_libs_htmldir)/$kdelang/common \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/common\n"; - - $lines .= "\n"; - $lines .= "uninstall-docs:\n"; - $lines .= "\t-rm -rf \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname\n"; - $lines .= "\n"; - $lines .= "clean-docs:\n"; - $lines .= "\t-rm -f index.cache.bz2\n"; - $lines .= "\n"; - $target_adds{"install-data-am"} .= "install-docs "; - $target_adds{"uninstall"} .= "uninstall-docs "; - $target_adds{"clean-am"} .= "clean-docs "; - appendLines ($lines); - } else { - appendLines("docs-am: $files\n"); - } - - $target_adds{"install-data-am"} .= "install-nls "; - $target_adds{"uninstall"} .= "uninstall-nls "; - - $tmp = "install-nls:\n"; - $tmp .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname\n"; - $tmp .= "\t\@for base in $files; do \\\n"; - $tmp .= "\t echo \$(INSTALL_DATA) \$\$base \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n"; - $tmp .= "\t \$(INSTALL_DATA) \$(srcdir)/\$\$base \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n"; - $tmp .= "\tdone\n"; - if ($appname eq 'common') { - $tmp .= "\t\@echo \"merging common and language specific dir\" ;\\\n"; - $tmp .= "\tif test ! -f \$(kde_htmldir)/en/common/kde-common.css; then echo 'no english docs found in \$(kde_htmldir)/en/common/'; exit 1; fi \n"; - $tmp .= "\t\@com_files=`cd \$(kde_htmldir)/en/common && echo *` ;\\\n"; - $tmp .= "\tcd \$(DESTDIR)\$(kde_htmldir)/$kdelang/common ;\\\n"; - $tmp .= "\tif test -n \"\$\$com_files\"; then for p in \$\$com_files ; do \\\n"; - $tmp .= "\t case \" $files \" in \\\n"; - $tmp .= "\t *\" \$\$p \"*) ;; \\\n"; - $tmp .= "\t *) test ! -f \$\$p && echo \$(LN_S) ../../en/common/\$\$p \$(DESTDIR)\$(kde_htmldir)/$kdelang/common/\$\$p && \$(LN_S) ../../en/common/\$\$p \$\$p ;; \\\n"; - $tmp .= "\t esac ; \\\n"; - $tmp .= "\tdone ; fi ; true\n"; - } - $tmp .= "\n"; - $tmp .= "uninstall-nls:\n"; - $tmp .= "\tfor base in $files; do \\\n"; - $tmp .= "\t rm -f \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n"; - $tmp .= "\tdone\n\n"; - appendLines ($tmp); - - $target_adds{"distdir"} .= "distdir-nls "; - - $tmp = "distdir-nls:\n"; - $tmp .= "\tfor file in $files; do \\\n"; - $tmp .= "\t cp \$(srcdir)/\$\$file \$(distdir); \\\n"; - $tmp .= "\tdone\n"; - - appendLines ($tmp); - - return 0; - - nodocs: - appendLines("docs-am:\n"); - return 1; -} - -#----------------------------------------------------------------------------- -# Find headers in any of the source directories specified previously, that -# are candidates for "moc-ing". -sub findMocCandidates () -{ - foreach $dir (@headerdirs) - { - my @list = (); - opendir (SRCDIR, "$dir"); - @hFiles = grep { /.+\.$hExt$/o && !/^\./ } readdir(SRCDIR); - closedir SRCDIR; - foreach $hf (@hFiles) - { - next if ($hf =~ /^\.\#/); - $hf =~ /(.*)\.[^\.]*$/; # Find name minus extension - next if ($uiFiles{$1}); - open (HFIN, "$dir/$hf") || die "Could not open $dir/$hf: $!\n"; - my $hfsize = 0; - seek(HFIN, 0, 2); - $hfsize = tell(HFIN); - seek(HFIN, 0, 0); - read HFIN, $hfData, $hfsize; - close HFIN; - # push (@list, $hf) if(index($hfData, "Q_OBJECT") >= 0); ### fast but doesn't handle //Q_OBJECT - # handle " { friend class blah; Q_OBJECT ", but don't match antlarr_Q_OBJECT (\b). - if ( $hfData =~ /{([^}]*)\bQ_OBJECT/s ) { - push (@list, $hf) unless $1 =~ m://[^\n]*Q_OBJECT[^\n]*$:s; ## reject "// Q_OBJECT" - } - } - # The assoc array of root of headerfile and header filename - foreach $hFile (@list) - { - $hFile =~ /(.*)\.[^\.]*$/; # Find name minus extension - if ($mocFiles{$1}) - { - print STDERR "Warning: Multiple header files found for $1\n"; - next; # Use the first one - } - $mocFiles{$1} = "$dir\035$hFile"; # Add relative dir - } - } - - return 0; -} - -#----------------------------------------------------------------------------- - -# The programmer has specified a moc list. Prune out the moc candidates -# list that we found based on looking at the header files. This generates -# a warning if the programmer gets the list wrong, but this doesn't have -# to be fatal here. -sub pruneMocCandidates ($) -{ - my %prunedMoc = (); - local @mocList = split(' ', $_[0]); - - foreach $mocname (@mocList) - { - $mocname =~ s/\.moc$//; - if ($mocFiles{$mocname}) - { - $prunedMoc{$mocname} = $mocFiles{$mocname}; - } - else - { - my $print = $makefileDir; - $print =~ s/^\Q$topdir\E\\//; - # They specified a moc file but we can't find a header that - # will generate this moc file. That's possible fatal! - print STDERR "Warning: No moc-able header file for $print/$mocname\n"; - } - } - - undef %mocFiles; - %mocFiles = %prunedMoc; -} - -#----------------------------------------------------------------------------- - -# Finds the cpp files (If they exist). -# The cpp files get appended to the header file separated by \035 -sub checkMocCandidates () -{ - my @cppFiles; - my $cpp2moc; # which c++ file includes which .moc files - my $moc2cpp; # which moc file is included by which c++ files - - return unless (keys %mocFiles); - opendir(THISDIR, ".") || return; - @cppFiles = grep { /.+\.$cppExt$/o && !/.+\.moc\.$cppExt$/o - && !/.+\.all_$cppExt\.$cppExt$/o - && !/^\./ } readdir(THISDIR); - closedir THISDIR; - return unless (@cppFiles); - my $files = join (" ", @cppFiles); - $cpp2moc = {}; - $moc2cpp = {}; - foreach $cxxf (@cppFiles) - { - open (CXXFIN, $cxxf) || die "Could not open $cxxf: $!\n"; - seek(CXXFIN, 0, 2); - my $cxxfsize = tell(CXXFIN); - seek(CXXFIN, 0, 0); - read CXXFIN, $cxxfData, $cxxfsize; - close CXXFIN; - while(($cxxfData =~ m/^[ \t]*\#include\s*[<\"](.*\.moc)[>\"]/gm)) { - $cpp2moc->{$cxxf}->{$1} = 1; - $moc2cpp->{$1}->{$cxxf} = 1; - } - } - foreach my $mocFile (keys (%mocFiles)) - { - @cppFiles = keys %{$moc2cpp->{"$mocFile.moc"}}; - if (@cppFiles == 1) { - $mocFiles{$mocFile} .= "\035" . $cppFiles[0]; - push(@depend, $mocFile); - } elsif (@cppFiles == 0) { - push (@newObs, $mocFile); # Produce new object file - next if ($haveAutomocTag); # This is expected... - # But this is an error we can deal with - let them know - print STDERR - "Warning: No c++ file that includes $mocFile.moc\n"; - } else { - # We can't decide which file to use, so it's fatal. Although as a - # guess we could use the mocFile.cpp file if it's in the list??? - print STDERR - "Error: Multiple c++ files that include $mocFile.moc\n"; - print STDERR "\t",join ("\t", @cppFiles),"\n"; - $errorflag = 1; - delete $mocFiles{$mocFile}; - # Let's continue and see what happens - They have been told! - } - } -} - -#----------------------------------------------------------------------------- - -# Add the rules for generating moc source from header files -# For Automoc output *.moc.cpp but normally we'll output *.moc -# (We must compile *.moc.cpp separately. *.moc files are included -# in the appropriate *.cpp file by the programmer) -sub addMocRules () -{ - my $cppFile; - my $hFile; - - foreach $mocFile (keys (%mocFiles)) - { - undef $cppFile; - ($dir, $hFile, $cppFile) = split ("\035", $mocFiles{$mocFile}, 3); - $dir =~ s#^\.#\$(srcdir)#; - if (defined ($cppFile)) - { - $cppFile =~ s,\.[^.]*$,,; - $target_adds{"$cppFile.o"} .= "$mocFile.moc "; - $target_adds{"$cppFile.lo"} .= "$mocFile.moc "; - appendLines ("$mocFile.moc: $dir/$hFile\n\t\$(MOC) $dir/$hFile -o $mocFile.moc\n"); - $cleanMoc .= " $mocFile.moc"; - appendLines ("mocs: $mocFile.moc\n"); - } - else - { - appendLines ("$mocFile$mocExt: $dir/$hFile\n\t\$(MOC) $dir/$hFile -o $mocFile$mocExt\n"); - $cleanMoc .= " $mocFile$mocExt"; - appendLines ("mocs: $mocFile$mocExt\n"); - } - } -} - -sub make_bcheck_target() -{ - my $lookup = 'RECURSIVE_TARGETS\s*=[ \t]*(.*)'; - my $bcheckdep = "bcheck-am"; - $bcheckdep = "bcheck-recursive" if ($MakefileData =~ /\n$lookup/); - - my $headers= ""; - $headers = $1 if($MakefileData =~ /\nHEADERS\s*=[ \t]*(.+)/); - $headers =~ s/\$\((?:noinst|EXTRA)_HEADERS\)//g; - - $target_adds{"clean-am"} .= "clean-bcheck "; - - my $t = "clean-bcheck: \n" . - "\trm -f *.bchecktest.cc *.bchecktest.cc.class a.out\n\n" . - "bcheck: $bcheckdep\n\n" . - "bcheck-am:\n" . - "\t\@for i in $headers; do \\\n" . - "\t if test \$(srcdir)/\$\$i -nt \$\$i.bchecktest.cc; then \\\n" . - "\t echo \"int main() {return 0;}\" > \$\$i.bchecktest.cc ; \\\n" . - "\t echo \"#include \\\"\$\$i\\\"\" >> \$\$i.bchecktest.cc ; \\\n" . - "\t echo \"\$\$i\"; \\\n" . - "\t if ! "; - $t .= $cxxsuffix eq "KKK" ? - "\$(CXX) \$(DEFS) -I. -I\$(srcdir) -I\$(top_builddir) \$(INCLUDES) \$(AM_CPPFLAGS) \$(CPPFLAGS) \$(CXXFLAGS) \$(KDE_CXXFLAGS) " : - "\$(CXXCOMPILE) "; - $t .= " --dump-class-hierarchy -c \$\$i.bchecktest.cc; then \\\n" . - "\t rm -f \$\$i.bchecktest.cc; exit 1; \\\n" . - "\t fi ; \\\n" . - "\t echo \"\" >> \$\$i.bchecktest.cc.class; \\\n" . - "\t perl \$(top_srcdir)/admin/bcheck.pl \$\$i.bchecktest.cc.class || { rm -f \$\$i.bchecktest.cc; exit 1; }; \\\n" . - "\t rm -f a.out; \\\n" . - "\t fi ; \\\n" . - "\tdone\n"; - appendLines("$t\n"); -} - -sub make_meta_classes () -{ - return if ($kdeopts{"qtonly"}); - - my $cppFile; - my $hFile; - my $moc_class_headers = ""; - foreach $program (@programs) { - my $mocs = ""; - my @progsources = split(/[\034\s]+/, $sources{$program}); - my @depmocs = split(' ', $dependmocs{$program}); - my %shash = (), %mhash = (); - @shash{@progsources} = 1; # we are only interested in the existence - @mhash{@depmocs} = 1; - - print STDOUT "program=$program\n" if ($verbose); - print STDOUT "psources=[".join(' ', keys %shash)."]\n" if ($verbose); - print STDOUT "depmocs=[".join(' ', keys %mhash)."]\n" if ($verbose); - print STDOUT "globalmocs=[".join(' ', keys(%globalmocs))."]\n" if ($verbose); - foreach my $mocFile (keys (%globalmocs)) - { - my ($dir, $hFile, $cppFile) = split ("\035", $globalmocs{$mocFile}, 3); - if (defined ($cppFile)) - { - $mocs .= " $mocFile.moc" if exists $shash{$cppFile}; - } - else - { - # Bah. This is the case, if no C++ file includes the .moc - # file. We make a .moc.cpp file for that. Unfortunately this - # is not included in the %sources hash, but rather is mentioned - # in %dependmocs. If the user wants to use AUTO he can't just - # use an unspecific METAINCLUDES. Instead he must use - # program_METAINCLUDES. Anyway, it's not working real nicely. - # E.g. Its not clear what happens if user specifies two - # METAINCLUDES=AUTO in the same Makefile.am. - $mocs .= " $mocFile.moc.$cxxsuffix" - if exists $mhash{$mocFile.".moc.$cxxsuffix"}; - } - } - if ($mocs) { - print STDOUT "==> mocs=[".$mocs."]\n" if ($verbose); - } - print STDOUT "\n" if $verbose; - } - if ($moc_class_headers) { - appendLines ("$cleantarget-moc-classes:\n\t-rm -f $moc_class_headers\n"); - $target_adds{"$cleantarget-am"} .= "$cleantarget-moc-classes "; - } -} - -#----------------------------------------------------------------------------- - -sub updateMakefile () -{ - return if ($dryrun); - - open (FILEOUT, "> $makefile") - || die "Could not create $makefile: $!\n"; - - $MakefileData =~ s/\034/\\\n/g; # Restore continuation lines - # Append our $progId line, _below_ the "generated by automake" line - # because automake-1.6 relies on the first line to be his own. - my $progIdLine = "\# $progId - " . '$Revision: 1.1 $ '."\n"; - if ( !( $MakefileData =~ s/^(.*generated .*by automake.*\n)/$1$progIdLine/ ) ) { - warn "automake line not found in $makefile\n"; - # Fallback: first line - print FILEOUT $progIdLine; - }; - print FILEOUT $MakefileData; - close FILEOUT; -} - -#----------------------------------------------------------------------------- - -# The given line needs to be removed from the makefile -# Do this by adding the special "removed line" comment at the line start. -sub removeLine ($$) -{ - my ($lookup, $old) = @_; - - $old =~ s/\034/\\\n#>- /g; # Fix continuation lines - $MakefileData =~ s/\n$lookup/\n#>\- $old/; -} - -#----------------------------------------------------------------------------- - -# Replaces the old line with the new line -# old line(s) are retained but tagged as removed. The new line(s) have the -# "added" tag placed before it. -sub substituteLine ($$) -{ - my ($lookup, $new) = @_; - - if ($MakefileData =~ /\n($lookup)/) { - $old = $1; - $old =~ s/\034/\\\n#>\- /g; # Fix continuation lines - my $newCount = ($new =~ tr/\034//) + ($new =~ tr/\n//) + 1; - $new =~ s/\\\n/\034/g; - $MakefileData =~ s/\n$lookup/\n#>- $old\n#>\+ $newCount\n$new/; - } else { - warn "Warning: substitution of \"$lookup\" in $printname failed\n"; - } -} - -#----------------------------------------------------------------------------- - -# Slap new lines on the back of the file. -sub appendLines ($) -{ - my ($new) = @_; - my $copynew = $new; - my $newCount = ($new =~ tr/\034//) + ($new =~ tr/\n//) + 1; - $new =~ s/\\\n/\034/g; # Fix continuation lines - $MakefileData .= "\n#>\+ $newCount\n$new"; -} - -#----------------------------------------------------------------------------- - -# Restore the Makefile.in to the state it was before we fiddled with it -sub restoreMakefile () -{ - $MakefileData =~ s/# $progId[^\n\034]*[\n\034]*//g; - # Restore removed lines - $MakefileData =~ s/([\n\034])#>\- /$1/g; - # Remove added lines - while ($MakefileData =~ /[\n\034]#>\+ ([^\n\034]*)/) - { - my $newCount = $1; - my $removeLines = ""; - while ($newCount--) { - $removeLines .= "[^\n\034]*([\n\034]|)"; - } - $MakefileData =~ s/[\n\034]#>\+.*[\n\034]$removeLines/\n/; - } -} - -#----------------------------------------------------------------------------- - -# find the .kcfg file listed in the .kcfgc file -sub findKcfgFile($) -{ - my ($kcfgf) = @_; - open (KCFGFIN, $kcfgf) || die "Could not open $kcfgf: $!\n"; - seek(KCFGFIN, 0, 2); - my $kcfgfsize = tell(KCFGFIN); - seek(KCFGFIN, 0, 0); - read KCFGFIN, $kcfgfData, $kcfgfsize; - close KCFGFIN; - if(($kcfgfData =~ m/^File=(.*\.kcfg)/gm)) { - $kcfg = $1; - } -} diff --git a/kde/admin/bcheck.pl b/kde/admin/bcheck.pl deleted file mode 100644 index cca973e..0000000 --- a/kde/admin/bcheck.pl +++ /dev/null @@ -1,157 +0,0 @@ -#!/usr/bin/perl -w - -use DB_File; -use Fcntl ':flock'; - -if (!defined($ARGV[0])) { - print "usage: requires .class dump as parameter!\n"; - exit; -} - -sub bailout -{ - untie %bcheckdb if(defined(%bcheckdb)); - - if(defined(MYLOCK)) { - flock MYLOCK, LOCK_UN; - close(MYLOCK); - } - - print @_; - exit 5; -} - -sub ask_user -{ - my ($dbkey, $dbchunk) = @_; - - if (defined($ENV{"BCHECK_UPDATE"})) { - $bcheckdb{$dbkey} = $dbchunk; - return; - } - - &bailout("BC problem detected") if (! -t STDIN); - - print "(I)gnore / (Q)uit / (U)pdate: "; - - my $key; - while(defined(read STDIN, $key, 1)) { - $key = lc($key); - - print "got: >$key<\n"; - - return if ($key eq 'i'); - - &bailout("BC problem. aborted") if ($key eq 'q'); - - if ($key eq 'u') { - $bcheckdb{$dbkey} = $dbchunk; - return; - } - print "\n(I)gnore / (Q)uit / (U)pdate: "; - } -} - -sub diff_chunk($$) -{ - my ($oldl, $newl) = @_; - my @old = split /^/m, $oldl; - my @new = split /^/m, $newl; - my $haschanges = 0; - my $max = $#old > $#new ? $#old : $#new; - - die "whoops. key different" if ($old[0] ne $new[0]); - - if ($#old != $#new) { - warn ("Structural difference.\n"); - print @old; - print "-----------------------------------------------\n"; - print @new; - $haschanges = 1; - return $haschanges; - } - - print $old[0]; - - my ($class) = ($old[0] =~ /^(?:Class |Vtable for )(\S+)/); - - my $c = 1; - while ($c < $max) { - my ($o, $n) = ($old[$c], $new[$c]); - chomp $o; - chomp $n; - $c++; - next if ($o eq $n); - - if(defined($class) and $n =~ /^(\d+\s+)\w+(::\S+\s*.*)$/) { - next if ($n eq "$1$class$2"); - } - - $haschanges = 1; - - print "-$o\n+$n\n\n"; - } - - return $haschanges; -} - -local $dblock = $ENV{"HOME"} . "/bcheck.lock"; -my $dbfile = $ENV{"HOME"} . "/bcheck.db"; -my $cdump = $ARGV[0]; - -die "file $cdump is not readable: $!" if (! -f $cdump); - -# make sure the advisory lock exists -open(MYLOCK, ">$dblock"); -print MYLOCK ""; - -flock MYLOCK, LOCK_EX; - -tie %bcheckdb, 'DB_File', $dbfile; - -my $chunk = ""; - -open (IN, "<$cdump") or die "cannot open $cdump: $!"; -while (<IN>) { - - chop; - - s/0x[0-9a-fA-F]+/0x......../g; - s/base size=/size=/g; - s/\(\)\s*$//g; - s/base align=/align=/g; - - $chunk .= $_ . "\n"; - - if(/^\s*$/) { - my @lines = split /^/m, $chunk; - my $key = $lines[0]; - chomp $key; - - if($key !~ /<anonymous struct>/ && - $key !~ /<anonymous union>/) { - if(defined($bcheckdb{$key})) { - my $dbversion = $bcheckdb{$key}; - - if($dbversion ne $chunk) { - &ask_user($key, $chunk) if(&diff_chunk($dbversion, $chunk)); - } - } - else { - $bcheckdb{$key} = $chunk; - print "NEW: $key\n"; - } - } - - $chunk = ""; - next; - } - -} -close(IN); - -untie %bcheckdb; -flock MYLOCK, LOCK_UN; -close(MYLOCK); - -exit 0; diff --git a/kde/admin/compile b/kde/admin/compile deleted file mode 100755 index 1b1d232..0000000 --- a/kde/admin/compile +++ /dev/null @@ -1,142 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand `-c -o'. - -scriptversion=2005-05-14.22 - -# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. -# Written by Tom Tromey <tromey@cygnus.com>. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to <bug-automake@gnu.org> or send patches to -# <automake-patches@gnu.org>. - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand `-c -o'. -Remove `-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file `INSTALL'. - -Report bugs to <bug-automake@gnu.org>. -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; -esac - -ofile= -cfile= -eat= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as `compile cc -o foo foo.c'. - # So we strip `-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no `-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # `.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'` - -# Create the lock directory. -# Note: use `[/.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/kde/admin/conf.change.pl b/kde/admin/conf.change.pl deleted file mode 100644 index 129d759..0000000 --- a/kde/admin/conf.change.pl +++ /dev/null @@ -1,191 +0,0 @@ -#!/usr/bin/env perl - -# this script patches a config.status file, to use our own perl script -# in the main loop -# we do it this way to circumvent hacking (and thereby including) -# autoconf function (which are GPL) into our LGPL acinclude.m4.in -# written by Michael Matz <matz@kde.org> -# adapted by Dirk Mueller <mueller@kde.org> -# -# This file is free software; you can redistribute it and/or -# modify it under the terms of the GNU Library General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. - -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Library General Public License for more details. - -# You should have received a copy of the GNU Library General Public License -# along with this library; see the file COPYING.LIB. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. - -# we have to change two places -# 1. the splitting of the substitutions into chunks of 90 (or even 48 in -# later autoconf's -# 2. the big main loop which patches all Makefile.in's - -use strict; -use File::Basename; - -my $ac_aux_dir = dirname($0); -my ($flag); -my $ac_version = 0; -my $vpath_seen = 0; -$flag = 0; - -while (<>) { -# usage of $flag: 0 -- we have seen nothing yet -# 1 -- we are in (1) -# 2 -- we have ended (1) -# 3 -- we are in (2) -# 4 -- we ended (2) - - if ($flag == 4) { - print; - } elsif ($flag == 0) { -# 1. begins with (including): "ac_max_sed_\S+\s*=\s*[0-9]+..." -# ends with (excluding) "CONFIG_FILE=..." -# in later autoconf (2.14.1) there is no CONFIG_FILES= line, -# but instead the (2) directly follow (1) - if (/^\s*ac_max_sed_([a-z]+).*=\s*([0-9]+)/ ) { - $flag = 1; - if ($1 eq 'lines') { - # lets hope its different with 2141, - # wasn't able to verify that - if ($2 eq '48') { - $ac_version = 250; - } - else { - $ac_version = 2141; - } - } elsif ($1 eq 'cmds') { - $ac_version = 213; - } - # hmm, we don't know the autoconf version, but we try anyway - } else { - print; - } - } elsif ($flag == 1) { - if (/^\s*CONFIG_FILES=/ && ($ac_version != 250)) { - print; - $flag = 2; - } elsif (/^\s*for\s+ac_file\s+in\s+.*CONFIG_FILES/ ) { - $flag = 3; - } - } elsif ($flag == 2) { -# 2. begins with: "for ac_file in.*CONFIG_FILES" (the next 'for' after (1)) -# end with: "rm -f conftest.s\*" -# on autoconf 250, it ends with '# CONFIG_HEADER section' -# -# gg: if a post-processing commands section is found first, -# stop there and insert a new loop to honor the case/esac. -# (pattern: /^\s+#\sRun the commands associated with the file./) - - if (/^\s*for\s+ac_file\s+in\s+.*CONFIG_FILES/ ) { - $flag = 3; - } else { - print; - } - } elsif ($flag == 3) { - if (/^\s*rm\s+-f\s+conftest/ ) { - $flag = 4; - &insert_main_loop(); - } elsif (/^\s*rm\s+-f\s+.*ac_cs_root/ ) { - $flag = 4; - &insert_main_loop(); - #die "hhhhhhh"; - if ($ac_version != 2141) { - print STDERR "hmm, don't know autoconf version\n"; - } - } elsif (/^\#\s*CONFIG_(HEADER|COMMANDS) section.*|^\s+#\s(Run) the commands associated/) { - $flag = 4; - my $commands = defined $2; - &insert_main_loop(); - $commands && insert_command_loop(); - if($ac_version != 250) { - print STDERR "hmm, something went wrong :-(\n"; - } - } elsif (/VPATH/ ) { - $vpath_seen = 1; - } - } -} - -die "wrong input (flag != 4)" unless $flag == 4; -print STDERR "hmm, don't know autoconf version\n" unless $ac_version; - -sub insert_main_loop { - - if ($ac_version == 250) { - &insert_main_loop_250(); - } - else { - &insert_main_loop_213(); - } -} - -sub insert_main_loop_250 { - - print <<EOF; - #echo Doing the fast build of Makefiles -- autoconf $ac_version -EOF - if ($vpath_seen) { - print <<EOF; - # VPATH subst was seen in original config.status main loop - echo '/^[ ]*VPATH[ ]*=[^:]*\$/d' >>\$tmp/subs.sed -EOF - } - print <<EOF; - rm -f \$tmp/subs.files - for ac_file in .. \$CONFIG_FILES ; do - if test "x\$ac_file" != x..; then - echo \$ac_file >> \$tmp/subs.files - fi - done - if test -f \$tmp/subs.files ; then - perl $ac_aux_dir/config.pl "\$tmp/subs.sed" "\$tmp/subs.files" "\$srcdir" "\$INSTALL" - fi - rm -f \$tmp/subs.files - -fi -EOF - return; -} - -sub insert_main_loop_213 { - print <<EOF; -#echo Doing the fast build of Makefiles -- autoconf $ac_version -if test "x\$ac_cs_root" = "x" ; then - ac_cs_root=conftest -fi -EOF - if ($vpath_seen) { - print <<EOF; -# VPATH subst was seen in original config.status main loop -echo '/^[ ]*VPATH[ ]*=[^:]*\$/d' >> \$ac_cs_root.subs -EOF - } - print <<EOF; -rm -f \$ac_cs_root.sacfiles -for ac_file in .. \$CONFIG_FILES ; do - if test "x\$ac_file" != x..; then - echo \$ac_file >> \$ac_cs_root.sacfiles - fi -done -if test -f \$ac_cs_root.sacfiles ; then - perl $ac_aux_dir/config.pl "\$ac_cs_root.subs" "\$ac_cs_root.sacfiles" "\$ac_given_srcdir" "\$ac_given_INSTALL" -fi -rm -f \$ac_cs_root.s* - -EOF - return; -} - -sub insert_command_loop { - print <<EOF; - for ac_file in .. \$CONFIG_FILES ; do -EOF -} diff --git a/kde/admin/config.guess b/kde/admin/config.guess deleted file mode 100755 index 4f0f63f..0000000 --- a/kde/admin/config.guess +++ /dev/null @@ -1,1464 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. - -timestamp='2005-06-30' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner <per@bothner.com>. -# Please send patches to <config-patches@gnu.org>. Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to <config-patches@gnu.org>." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerppc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include <stdio.h> /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include <sys/systemcfg.h> - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include <stdlib.h> - #include <unistd.h> - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - # avoid double evaluation of $set_cc_for_build - test -n "$CC_FOR_BUILD" || eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include <unistd.h> - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - i*:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - x86:Interix*:[34]*) - echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' - exit ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) - echo cris-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-gnu - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include <features.h> - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #ifdef __INTEL_COMPILER - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` - echo ${UNAME_MACHINE}-pc-isc$UNAME_REL - elif /bin/uname -X 2>/dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says <Richard.M.Bartel@ccMail.Census.GOV> - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes <hewes@openmarket.com>. - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - *86) UNAME_PROCESSOR=i686 ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c <<EOF -#ifdef _SEQUENT_ -# include <sys/types.h> -# include <sys/utsname.h> -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include <sys/param.h> - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include <sys/param.h> -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - -cat >&2 <<EOF -$0: unable to guess system type - -This script, last modified $timestamp, has failed to recognize -the operating system you are using. It is advised that you -download the most up to date version of the config scripts from - - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess -and - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub - -If the version you run ($0) is already up to date, please -send the following data and any information you think might be -pertinent to <config-patches@gnu.org> in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/kde/admin/config.pl b/kde/admin/config.pl deleted file mode 100644 index c2b0517..0000000 --- a/kde/admin/config.pl +++ /dev/null @@ -1,238 +0,0 @@ -#!/usr/bin/env perl -# a script for use by autoconf to make the Makefiles -# from the Makefile.in's -# -# the original autoconf mechanism first splits all substitutions into groups -# of ca. 90, and than invokes sed for _every_ Makefile.in and every group -# (so around 2-3 times per Makefile.in). So this takes forever, as sed -# has to recompile the regexps every time. -# -# this script does better. It changes all Makefile.ins in one process. -# in kdelibs the time for building Makefile went down from 2:59 min to 13 sec! -# -# written by Michael Matz <matz@kde.org> -# adapted by Dirk Mueller <mueller@kde.org> - -# This file is free software; you can redistribute it and/or -# modify it under the terms of the GNU Library General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. - -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Library General Public License for more details. - -# You should have received a copy of the GNU Library General Public License -# along with this library; see the file COPYING.LIB. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. - -use strict; - -use File::Path; - -my $ac_subs=$ARGV[0]; -my $ac_sacfiles = $ARGV[1]; -my $ac_given_srcdir=$ARGV[2]; -my $ac_given_INSTALL=$ARGV[3]; - -my @comp_match; -my @comp_subs; - -#print "ac_subs=$ac_subs\n"; -#print "ac_sacfiles=$ac_sacfiles\n"; -#print "ac_given_srcdir=$ac_given_srcdir\n"; -#print "ac_given_INSTALL=$ac_given_INSTALL\n"; - -my $configure_input; -my ($srcdir, $top_srcdir); -my $INSTALL; -my $bad_perl = ($] < 5.005); -my $created_file_count = 0; - -open(CF, "< $ac_subs") || die "can't open $ac_subs: $!"; -my @subs = <CF>; -my $pat; -close(CF); -chomp @subs; -@comp_match=(); -@comp_subs=(); - -if ($bad_perl) { - print "Using perl older than version 5.005\n"; - foreach $pat (@subs) { - if ( ($pat =~ m/s%([^%]*)%([^%]*)%g/ ) - || ($pat =~ m/s%([^%]*)%([^%]*)%;t/ ) - || ($pat =~ m/s,([^,]*),(.*),;t/) - || ($pat =~ m%s/([^/]*)/([^/]*)/g% ) - || ($pat =~ m%s/([^/]*)/([^/]*)/;t% ) - ) { - # form : s%bla%blubb%g - # or s%bla%blubb%;t t (autoconf > 2.13 and < 2.52 ?) - # or s,bla,blubb,;t t (autoconf 2.52) - my $srch = $1; - my $repl = $2; - $repl =~ s/\\(.)/$1/g; - push @comp_subs, make_closure($srch, $repl); - - } elsif ( ($pat =~ /%([^%]*)%d/ ) - || ($pat =~ m%/([^/]*)/d% ) - ) { - push @comp_subs, make_closure($1, ""); - } else { - die "Uhh. Malformed pattern in $ac_subs ($pat)" - unless ( $pat =~ /^\s*$/ ); # ignore white lines - } - } -} else { - foreach $pat (@subs) { - if ( ($pat =~ /s%([^%]*)%([^%]*)%g/ ) || - ($pat =~ /s%([^%]*)%([^%]*)%;t/ ) || - ($pat =~ /s,([^,]*),(.*),;t/) ) { - # form : s%bla%blubb%g - # or s%bla%blubb%;t t (autoconf > 2.13 and < 2.52 ?) - # or s,bla,blubb,;t t (autoconf 2.52) - my $srch = $1; - my $repl = $2; - push @comp_match, eval "qr/\Q$srch\E/"; # compile match pattern - $repl =~ s/\\(.)/$1/g; - push @comp_subs, $repl; - } elsif ( ($pat =~ /%([^%]*)%d/ ) - || ($pat =~ m%/([^/]*)/d% ) - ) { - push @comp_match, eval "qr/\Q$1\E/"; - push @comp_subs, ""; - } else { - die "Uhh. Malformed pattern in $ac_subs ($pat)" - unless ( $pat =~ /^\s*$/ ); # ignore white lines - } - } -} -undef @subs; - -# read the list of files to be patched, form: -# ./Makefile arts/Makefile arts/examples/Makefile arts/flow/Makefile - -open(CF, "< $ac_sacfiles") || die "can't open $ac_sacfiles: $!"; -my @ac_files = <CF>; -close(CF); -chomp @ac_files; - - -my $ac_file; -foreach $ac_file (@ac_files) { - next if $ac_file =~ /\.\./; - next if $ac_file =~ /^\s*$/; - my $ac_file_in; - my ($ac_dir, $ac_dots, $ac_dir_suffix); - - if ($ac_file =~ /.*:.*/ ) { - ($ac_file_in = $ac_file) =~ s%[^:]*:%%; - $ac_file =~ s%:.*%%; - } else { - $ac_file_in = $ac_file.".in"; - } - -# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - -# Remove last slash and all that follows it. Not all systems have dirname. - ($ac_dir = $ac_file) =~ s%/[^/][^/]*$%%; - if ( ($ac_dir ne $ac_file) && ($ac_dir ne ".")) { -# The file is in a subdirectory. - if (! -d "$ac_dir") { mkpath "$ac_dir", 0, 0777; } - ($ac_dir_suffix = $ac_dir) =~ s%^./%%; - $ac_dir_suffix="/".$ac_dir_suffix; -# A "../" for each directory in $ac_dir_suffix. - ($ac_dots = $ac_dir_suffix) =~ s%/[^/]*%../%g; - } else { - $ac_dir_suffix=""; - $ac_dots=""; - } - - if ($ac_given_srcdir eq ".") { - $srcdir="."; - if ($ac_dots) { - ( $top_srcdir = $ac_dots) =~ s%/$%%; - } else { $top_srcdir="."; } - } elsif ($ac_given_srcdir =~ m%^/%) { - $srcdir=$ac_given_srcdir.$ac_dir_suffix; - $top_srcdir = $ac_given_srcdir; - } else { - $srcdir = $ac_dots.$ac_given_srcdir.$ac_dir_suffix; - $top_srcdir = $ac_dots.$ac_given_srcdir; - } - - if ($ac_given_INSTALL) { - if ($ac_given_INSTALL =~ m%^/% ) { - $INSTALL = $ac_given_INSTALL; - } else { - $INSTALL = $ac_dots.$ac_given_INSTALL; - } - } - - print "fast creating $ac_file\n"; - unlink $ac_file; - my $ac_comsub=""; - my $fname=$ac_file_in; - $fname =~ s%.*/%%; - $configure_input="$ac_file. Generated from $fname by config.pl."; - - my $ac_file_inputs; - ($ac_file_inputs = $ac_file_in) =~ s%^%$ac_given_srcdir/%; - $ac_file_inputs =~ s%:% $ac_given_srcdir/%g; - - patch_file($ac_file, $ac_file_inputs); - ++$created_file_count; -} - -print "config.pl: fast created $created_file_count file(s).\n"; - -sub patch_file { - my ($outf, $infiles) = @_; - my $filedata; - my @infiles=split(' ', $infiles); - my $i=0; - my $name; - - foreach $name (@infiles) { - if (open(CF, "< $name")) { - while (<CF>) { - $filedata .= $_; - } - close(CF); - } else { - print STDERR "can't open $name: $!"."\n"; - } - } - - $filedata =~ s%\@configure_input\@%$configure_input%g; - $filedata =~ s%\@srcdir\@%$srcdir%g; - $filedata =~ s%\@top_srcdir\@%$top_srcdir%g; - $filedata =~ s%\@INSTALL\@%$INSTALL%g; - - if ($bad_perl) { - while ($i <= $#comp_subs) { - my $ref = $comp_subs[$i]; - &$ref(\$filedata); - $i++; - } - } else { - while ($i <= $#comp_match) { - $filedata =~ s/$comp_match[$i]/$comp_subs[$i]/g; - $i++; - } - } - open(CF, "> $outf") || die "can't create $outf: $!"; - print CF $filedata; - close(CF); -} - -sub make_closure { - my ($pat, $sub) = @_; - my $ret = eval "return sub { my \$ref=shift; \$\$ref =~ s%\Q$pat\E%\Q$sub\E%g; }"; - if ($@) { - print "can't create CODE: $@\n"; - } - return $ret; -} diff --git a/kde/admin/config.sub b/kde/admin/config.sub deleted file mode 100755 index 2ef2842..0000000 --- a/kde/admin/config.sub +++ /dev/null @@ -1,1575 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. - -timestamp='2005-07-01' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Please send patches to <config-patches@gnu.org>. Submit a context -# diff and a properly formatted ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to <config-patches@gnu.org>." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ - kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64vr | mips64vrel \ - | mips64orion | mips64orionel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | ms1 \ - | msp430 \ - | ns16k | ns32k \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b \ - | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ - | we32k \ - | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k) - basic_machine=$basic_machine-unknown - ;; - m32c) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | ms1-* \ - | msp430-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tron-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ - | ymp-* \ - | z8k-*) - ;; - m32c-*) - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16c) - basic_machine=cr16c-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* | -skyos*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/kde/admin/configure.in.bot.end b/kde/admin/configure.in.bot.end deleted file mode 100644 index 1bc030b..0000000 --- a/kde/admin/configure.in.bot.end +++ /dev/null @@ -1,45 +0,0 @@ -# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure -if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then - # And if so, warn when they don't match - if test "$kde_libs_prefix" != "$given_prefix"; then - # And if kde doesn't know about the prefix yet - echo ":"`kde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null - if test $? -ne 0; then - echo "" - echo "Warning: you chose to install this package in $given_prefix," - echo "but KDE was found in $kde_libs_prefix." - echo "For this to work, you will need to tell KDE about the new prefix, by ensuring" - echo "that KDEDIRS contains it, e.g. export KDEDIRS=$given_prefix:$kde_libs_prefix" - echo "Then restart KDE." - echo "" - fi - fi -fi - -if test x$GXX = "xyes" -a x$kde_have_gcc_visibility = "xyes" -a x$kde_cv_val_qt_gcc_visibility_patched = "xno"; then - echo "" - echo "Your GCC supports symbol visibility, but the patch for Qt supporting visibility" - echo "was not included. Therefore, GCC symbol visibility support remains disabled." - echo "" - echo "For better performance, consider including the Qt visibility supporting patch" - echo "located at:" - echo "" - echo "http://bugs.kde.org/show_bug.cgi?id=109386" - echo "" - echo "and recompile all of Qt and KDE. Note, this is entirely optional and" - echo "everything will continue to work just fine without it." - echo "" -fi - -if test "$all_tests" = "bad"; then - if test ! "$cache_file" = "/dev/null"; then - echo "" - echo "Please remove the file $cache_file after changing your setup" - echo "so that configure will find the changes next time." - echo "" - fi -else - echo "" - echo "Good - your configure finished. Start make now" - echo "" -fi diff --git a/kde/admin/configure.in.min b/kde/admin/configure.in.min deleted file mode 100644 index 0dfe378..0000000 --- a/kde/admin/configure.in.min +++ /dev/null @@ -1,57 +0,0 @@ -dnl This file is part of the KDE libraries/packages -dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org) - -dnl This file is free software; you can redistribute it and/or -dnl modify it under the terms of the GNU Library General Public -dnl License as published by the Free Software Foundation; either -dnl version 2 of the License, or (at your option) any later version. - -dnl This library is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl Library General Public License for more details. - -dnl You should have received a copy of the GNU Library General Public License -dnl along with this library; see the file COPYING.LIB. If not, write to -dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -dnl Boston, MA 02110-1301, USA. - -# Original Author was Kalle@kde.org -# I lifted it in some mater. (Stephan Kulow) -# I used much code from Janos Farkas - -dnl Process this file with autoconf to produce a configure script. - -AC_INIT(acinclude.m4) dnl a source file from your sub dir - -dnl This is so we can use kde-common -AC_CONFIG_AUX_DIR(admin) - -dnl This ksh/zsh feature conflicts with `cd blah ; pwd` -unset CDPATH - -dnl Checking host/target/build systems, for make, install etc. -AC_CANONICAL_SYSTEM -dnl Perform program name transformation -AC_ARG_PROGRAM - -dnl Automake doc recommends to do this only here. (Janos) -AM_INIT_AUTOMAKE(@MODULENAME@, @VERSION@) dnl searches for some needed programs - -KDE_SET_PREFIX - -dnl generate the config header -AM_CONFIG_HEADER(config.h) dnl at the distribution this done - -dnl Checks for programs. -AC_CHECK_COMPILERS -AC_ENABLE_SHARED(yes) -AC_ENABLE_STATIC(no) -KDE_PROG_LIBTOOL - -dnl for NLS support. Call them in this order! -dnl WITH_NLS is for the po files -AM_KDE_WITH_NLS - -dnl KDE_USE_QT -AC_PATH_KDE diff --git a/kde/admin/cvs.sh b/kde/admin/cvs.sh deleted file mode 100644 index 875b9f3..0000000 --- a/kde/admin/cvs.sh +++ /dev/null @@ -1,661 +0,0 @@ -#! /bin/sh -# -# cvs.sh -# -# This file contains support code from Makefile.common -# It defines a shell function for each known target -# and then does a case to call the correct function. - -unset MAKEFLAGS - -call_and_fix_autoconf() -{ - $AUTOCONF || exit 1 - if test -r configure.in.in ; then - perl -pi -e "print \"if test \\\"x\\\$with_fast_perl\\\" = \\\"xyes\\\"; then\ - \\n perl -i.bak \\\$ac_aux_dir/conf.change.pl \\\$CONFIG_STATUS\ - \\\\\\n || mv \\\$CONFIG_STATUS.bak \\\$CONFIG_STATUS\ - \\n rm -f \\\$CONFIG_STATUS.bak\\nfi\ - \\n\" if /^\\s*chmod\\s+.*\\+x\\s+.*CONFIG_STATUS/; s,^#line.*LINENO.*\$,/* \$& */, ;" configure - fi -} - -strip_makefile() -{ - if test ! -f $makefile_wo; then - perl -e '$in=0; while ( <> ) { $in = 1 if ($_ =~ m/^if / ); print $_ unless ($in || $_ =~ m/^include /); $in = 0 if ($_ =~ m/^endif/); }' < $makefile_am > $makefile_wo - fi -} - -check_autotool_versions() -{ -required_autoconf_version="2.53 or newer" -AUTOCONF_VERSION=`$AUTOCONF --version | head -n 1` -case $AUTOCONF_VERSION in - Autoconf*2.5* | autoconf*2.5* ) : ;; - "" ) - echo "*** AUTOCONF NOT FOUND!." - echo "*** KDE requires autoconf $required_autoconf_version" - exit 1 - ;; - * ) - echo "*** YOU'RE USING $AUTOCONF_VERSION." - echo "*** KDE requires autoconf $required_autoconf_version" - exit 1 - ;; -esac - -AUTOHEADER_VERSION=`$AUTOHEADER --version | head -n 1` -case $AUTOHEADER_VERSION in - Autoconf*2.5* | autoheader*2.5* ) : ;; - "" ) - echo "*** AUTOHEADER NOT FOUND!." - echo "*** KDE requires autoheader $required_autoconf_version" - exit 1 - ;; - * ) - echo "*** YOU'RE USING $AUTOHEADER_VERSION." - echo "*** KDE requires autoheader $required_autoconf_version" - exit 1 - ;; -esac - -AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1` -required_automake_version="1.6.1 or newer" -case $AUTOMAKE_STRING in - automake*1.5d* | automake*1.5* | automake*1.5-* ) - echo "*** YOU'RE USING $AUTOMAKE_STRING." - echo "*** KDE requires automake $required_automake_version" - exit 1 - ;; - automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9*) - echo "*** $AUTOMAKE_STRING found." - UNSERMAKE=no - ;; - "" ) - echo "*** AUTOMAKE NOT FOUND!." - echo "*** KDE requires automake $required_automake_version" - exit 1 - ;; - *unsermake* ) : - echo "*** YOU'RE USING UNSERMAKE." - echo "*** GOOD LUCK!! :)" - UNSERMAKE=unsermake - ;; - * ) - echo "*** YOU'RE USING $AUTOMAKE_STRING." - echo "*** KDE requires automake $required_automake_version" - exit 1 - ;; -esac -unset required_automake_version -} - -cvs() -{ -check_autotool_versions -acinclude_m4 - -### Make new subdirs and configure.in. -### The make calls could be optimized away here, -### with a little thought. -if test -r configure.in.in; then - rm -f configure.in - echo "*** Creating list of subdirectories" - create_subdirs - - if test -r Makefile.am.in; then - echo "*** Creating Makefile.am" - if grep '\$(top_srcdir)/Makefile.am:' $makefile_am >/dev/null; then - strip_makefile - $MAKE -f $makefile_wo top_srcdir=. ./Makefile.am || exit 1 - else - Makefile_am - fi - fi - configure_files - echo "*** Creating configure.in" - if grep '\$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then - strip_makefile - $MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1 - else - configure_in - fi -fi - -echo "*** Creating aclocal.m4" -$ACLOCAL $ACLOCALFLAGS || exit 1 -echo "*** Creating configure" -call_and_fix_autoconf - -if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then - echo "*** Creating config.h template" - $AUTOHEADER || exit 1 - touch config.h.in -fi - -echo "*** Creating Makefile templates" -$AUTOMAKE || exit 1 - -if test "$UNSERMAKE" = no; then - echo "*** Postprocessing Makefile templates" - perl -w admin/am_edit || exit 1 -fi - -if egrep "^cvs-local:" $makefile_am >/dev/null; then \ - strip_makefile - $MAKE -f $makefile_wo cvs-local top_srcdir=. || exit 1 -fi - -echo "*** Creating date/time stamp" -touch stamp-h.in - -echo "*** Finished" -echo " Don't forget to run ./configure" -echo " If you haven't done so in a while, run ./configure --help" -} - -dist() -{ -check_autotool_versions - -### -### First build all of the files necessary to do just "make" -### -acinclude_m4 -if test -r configure.in.in; then - rm -f configure.in - create_subdirs - - if test -r Makefile.am.in; then - if grep '\$(top_srcdir)/Makefile.am:' $makefile_am >/dev/null; then - strip_makefile - $MAKE -f $makefile_wo top_srcdir=. ./Makefile.am || exit 1 - else - Makefile_am - fi - fi - configure_files - if grep '\$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then - strip_makefile - $MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1 - else - configure_in - fi -fi -$ACLOCAL $ACLOCALFLAGS -if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then - echo "*** Creating config.h template" - $AUTOHEADER || exit 1 - touch config.h.in -fi -$AUTOMAKE --foreign || exit 1 -if test "$UNSERMAKE" = no; then - echo "*** Postprocessing Makefile templates" - perl -w admin/am_edit || exit 1 -fi -call_and_fix_autoconf -touch stamp-h.in -if grep "^cvs-local:" $makefile_am >/dev/null; then - strip_makefile - $MAKE -f $makefile_wo cvs-local top_srcdir=. -fi - -### -### Then make messages -### -if test -d po; then - LIST=`find ./po -name "*.po"` - for i in $LIST; do - file2=`echo $i | sed -e "s#\.po#\.gmo#"` - msgfmt -o $file2 $i || touch $file2 - done -fi -if grep "^cvs-dist-local:" $makefile_am >/dev/null; then - strip_makefile - $MAKE -f $makefile_wo cvs-dist-local top_srcdir=. -fi -} - -subdir_dist() -{ -$ACLOCAL $ACLOCALFLAGS -$AUTOHEADER -touch config.h.in -$AUTOMAKE -AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1` -case $AUTOMAKE_STRING in - *unsermake* ) : - ;; - *) - perl -w ../admin/am_edit --path=../admin -esac -call_and_fix_autoconf -touch stamp-h.in -} - -configure_in() -{ -rm -f configure.in configure.in.new -kde_use_qt_param= -test -f configure.files || { echo "need configure.files for configure.in"; exit 1; } -list=`fgrep -v "configure.in.bot" < configure.files | fgrep -v "configure.in.mid"` -: > configure.in.new -for file in $list; do - echo "dnl =======================================================" >> configure.in.new - echo "dnl FILE: $file" >> configure.in.new - echo "dnl =======================================================" >> configure.in.new - echo "" >> configure.in.new - cat $file >> configure.in.new -done -echo "KDE_CREATE_SUBDIRSLIST" >> configure.in.new -if test -f Makefile.am.in; then - subdirs=`cat subdirs` - for dir in $subdirs; do - vdir=`echo $dir | sed -e 's,[-+.@],_,g'` - echo "AM_CONDITIONAL($vdir""_SUBDIR_included, test \"x\$$vdir""_SUBDIR_included\" = xyes)" >> configure.in.new - if test -f "$dir/configure.in"; then - echo "if test \"x\$$vdir""_SUBDIR_included\" = xyes; then " >> configure.in.new - echo " AC_CONFIG_SUBDIRS($dir)" >> configure.in.new - echo "fi" >> configure.in.new - fi - done -fi - -echo "AC_CONFIG_FILES([ Makefile ])" >> configure.in.new - -if test -f inst-apps; then - topleveldirs=`cat inst-apps` -else - topleveldirs= - for dir in `ls -1d * | sort`; do - if test "$dir" != "debian" && test -d $dir; then - topleveldirs="$topleveldirs $dir" - fi - done -fi - -for topleveldir in $topleveldirs; do - if test -f $topleveldir/configure.in; then - continue - fi - if test -f $topleveldir/Makefile.am; then :; else - continue - fi - - mfs=`find $topleveldir -follow -name Makefile.am -print | fgrep -v "/." | \ - sed -e 's#\./##; s#/Makefile.am$##' | sort | sed -e 's#$#/Makefile#'` - for i in $mfs; do - echo "AC_CONFIG_FILES([ $i ])" >> configure.in.new - done -done - -files=`cat configure.files` -list=`egrep '^dnl AC_OUTPUT\(.*\)' $files | sed -e "s#^.*dnl AC_OUTPUT(\(.*\))#\1#"` -for file in $list; do - echo "AC_CONFIG_FILES([ $file ])" >> configure.in.new -done - -midfiles=`cat configure.files | fgrep "configure.in.mid"` -test -n "$midfiles" && cat $midfiles >> configure.in.new - -echo "AC_OUTPUT" >> configure.in.new -modulename= -if test -f configure.in.in; then - if head -n 2 configure.in.in | egrep "^#MIN_CONFIG\(.*\)$" > /dev/null; then - kde_use_qt_param=`cat configure.in.in | sed -n -e "s/#MIN_CONFIG(\(.*\))/\1/p"` - fi - if head -n 2 configure.in.in | egrep "^#MIN_CONFIG" > /dev/null; then - line=`grep "^AM_INIT_AUTOMAKE(" configure.in.in` - if test -n "$line"; then - modulename=`echo $line | sed -e "s#AM_INIT_AUTOMAKE(\([^,]*\),.*#\1#"` - VERSION=`echo $line | sed -e "s#AM_INIT_AUTOMAKE([^,]*, *\([^)]*\)).*#\1#"` - fi - sed -e "s#AM_INIT_AUTOMAKE([^@].*#dnl PACKAGE set before#" \ - configure.in.new > configure.in && mv configure.in configure.in.new - fi -fi -if test -z "$VERSION" || test "$VERSION" = "@VERSION@"; then - VERSION="\"3.5.1\"" -fi -if test -z "$modulename" || test "$modulename" = "@MODULENAME@"; then - modulename=`pwd`; - modulename=`basename $modulename` - esc_VERSION=`echo $VERSION | sed -e "s#[^.0-9a-zA-Z]##g"` - modulename=`echo $modulename | sed -e "s#-$esc_VERSION##"` - -fi -if test -n "$kde_use_qt_param"; then - sed -e "s#^dnl KDE_USE_QT#KDE_USE_QT($kde_use_qt_param)#" \ - configure.in.new > configure.in && mv configure.in configure.in.new -fi -sed -e "s#@MODULENAME@#$modulename#" configure.in.new | - sed -e "s#@VERSION@#$VERSION#" > configure.in -botfiles=`cat configure.files | egrep "configure.in.bot"` -test -n "$botfiles" && cat $botfiles >> configure.in -cat $admindir/configure.in.bot.end >> configure.in -rm -f configure.in.new -} - -configure_files() -{ -echo "*** Creating configure.files" -admindir=NO -for i in . .. ../.. ../../..; do - if test -x $i/admin; then admindir=$i/admin; break; fi -done -rm -f configure.files -touch configure.files -if test -f configure.in.in && head -n 2 configure.in.in | grep "^#MIN_CONFIG" > /dev/null; then - echo $admindir/configure.in.min >> configure.files -fi -test -f configure.in.in && echo configure.in.in >> configure.files -# we collect files in the subdirs and do some sorting tricks, so subsubdirs come after subdirs -if test -f inst-apps; then - inst=`cat inst-apps` - list="" - for i in $inst; do - list="$list `find $i/ -follow -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \ - sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"`" - done -else - list=`find . -follow -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \ - sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"` -fi -for i in $list; do if test -f $i && test `dirname $i` != "." ; then - echo $i >> configure.files -fi; done -test -f configure.in.mid && echo configure.in.mid >> configure.files -test -f configure.in.bot && echo configure.in.bot >> configure.files -if test ! -s configure.files; then - echo "There are no files to build a configure. Please check your checkout." - exit 1 -fi -} - -create_subdirs() -{ -if grep '\$(top_srcdir)/subdirs:' $makefile_am >/dev/null; then - # as many modules contain rules to create subdirs without any - # dependencies make won't create it unless there is no file. - # so we check if that's a dummy rule or one that works - rm -f subdirs.cvs.sh.$$ - if test -f subdirs; then - mv subdirs subdirs.cvs.sh.$$ - fi - strip_makefile - $MAKE -f $makefile_wo top_srcdir=. ./subdirs || exit 1 - if test -f subdirs.cvs.sh.$$; then - if test -s subdirs; then - rm subdirs.cvs.sh.$$ - else - mv subdirs.cvs.sh.$$ subdirs - fi - fi -else - subdirs -fi -} - -subdirs() -{ -dirs= -idirs= -if test -f inst-apps; then - idirs=`cat inst-apps` -else - idirs=`ls -1 | sort` -fi - -compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -n 1` -compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -n 1` -for i in $idirs; do - if test -f $i/Makefile.am; then - case " $compilefirst $compilelast " in - *" $i "*) ;; - *) dirs="$dirs $i" - esac - fi -done - -: > ./_SUBDIRS - -for d in $compilefirst; do - echo $d >> ./_SUBDIRS -done - -(for d in $dirs; do - list=`sed -ne "s#^COMPILE_BEFORE_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1` - for s in $list; do - echo $s $d - done - list=`sed -ne "s#^COMPILE_AFTER_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1` - for s in $list; do - echo $d $s - done - echo $d $d -done ) | tsort >> ./_SUBDIRS - -for d in $compilelast; do - echo $d >> ./_SUBDIRS -done - -if test -r subdirs && cmp -s subdirs _SUBDIRS; then - rm -f _SUBDIRS -fi -test -r _SUBDIRS && mv _SUBDIRS subdirs || true -} - -Makefile_am() -{ -if test -f Makefile.am.in; then - compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -n 1` - compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -n 1` - - idirs= - dirs= - if test -f inst-apps; then - idirs=`cat inst-apps` - else - idirs=`cat subdirs` - fi - for i in $idirs; do - case " $compilefirst $compilelast " in - *" $i "*) ;; - *) dirs="$dirs $i" - esac - done - - adds=`fgrep '$(top_srcdir)/acinclude.m4:' Makefile.am.in | sed -e 's,^[^:]*: *,,; s,\$(top_srcdir)/,,g'` - if echo "$adds" | fgrep "*" >/dev/null ; then - adds=`ls -d -1 $adds 2>/dev/null` - fgrep -v '$(top_srcdir)/acinclude.m4:' Makefile.am.in > Makefile.am.in.adds - str='$(top_srcdir)/acinclude.m4:' - for add in $adds; do - str="$str \$(top_srcdir)/$add" - done - echo $str >> Makefile.am.in.adds - else - cat Makefile.am.in > Makefile.am.in.adds - fi - - cat Makefile.am.in.adds | \ - sed -e 's,^\s*\(COMPILE_BEFORE.*\),# \1,' | \ - sed -e 's,^\s*\(COMPILE_AFTER.*\),# \1,' > Makefile.am - echo "SUBDIRS="'$(TOPSUBDIRS)' >> Makefile.am - rm Makefile.am.in.adds -fi -} - -acinclude_m4() -{ - echo "*** Creating acinclude.m4" - adds= - if grep '\$(top_srcdir)/acinclude.m4:' $makefile_am >/dev/null; then - strip_makefile - rm -f acinclude.m4 - adds=`grep '\$(top_srcdir)/acinclude.m4:' $makefile_wo | sed -e 's,^[^:]*: *,,; s,\$(top_srcdir),.,g'` - if echo $adds | fgrep "*" >/dev/null ; then - adds=`ls -d -1 $adds 2>/dev/null` - else - $MAKE -f $makefile_wo top_srcdir=. ./acinclude.m4 || exit 1 - fi - else - rm -f acinclude.m4 - fi - # if it wasn't created up to now, then we do it better - if test ! -f acinclude.m4; then - cat admin/acinclude.m4.in admin/libtool.m4.in admin/pkg.m4.in $adds > acinclude.m4 - fi -} - -package_merge() -{ -catalogs=$POFILES -for cat in $catalogs; do - msgmerge -o $cat.new $cat $PACKAGE.pot - if test -s $cat.new; then - grep -v "\"POT-Creation" $cat.new > $cat.new.2 - grep -v "\"POT-Creation" $cat >> $cat.new.1 - if diff $cat.new.1 $cat.new.2; then - rm $cat.new - else - mv $cat.new $cat - fi - rm -f $cat.new.1 $cat.new.2 - fi -done -} - -extract_messages() -{ -podir=${podir:-$PWD/po} -files=`find . -name Makefile.am | xargs egrep -l '^messages:' ` -dirs=`for i in $files; do echo \`dirname $i\`; done` -tmpname="$PWD/messages.log" -if test -z "$EXTRACTRC"; then EXTRACTRC=extractrc ; fi -if test -z "$PREPARETIPS"; then PREPARETIPS=preparetips ; fi -export EXTRACTRC PREPARETIPS - -for subdir in $dirs; do - test -z "$VERBOSE" || echo "Making messages in $subdir" - (cd $subdir - if test -n "`grep -e '^messages:.*rc.cpp' Makefile.am`"; then - $EXTRACTRC *.rc *.ui *.kcfg > rc.cpp - else - candidates=`ls -1 *.rc *.ui *.kcfg 2>/dev/null` - if test -n "$candidates"; then - echo "$subdir has *.rc, *.ui or *.kcfg files, but not correct messages line" - fi - fi - if find . -name \*.c\* -o -name \*.h\* | fgrep -v ".svn" | xargs fgrep -s -q KAboutData ; then - echo -e 'i18n("_: NAME OF TRANSLATORS\\n"\n"Your names")\ni18n("_: EMAIL OF TRANSLATORS\\n"\n"Your emails")' > _translatorinfo.cpp - else echo " " > _translatorinfo.cpp - fi - perl -e '$mes=0; while (<STDIN>) { next if (/^(if\s|else\s|endif)/); if (/^messages:/) { $mes=1; print $_; next; } if ($mes) { if (/$\\(XGETTEXT\)/ && / -o/) { s/ -o \$\(podir\)/ _translatorinfo.cpp -o \$\(podir\)/ } print $_; } else { print $_; } }' < Makefile.am | egrep -v '^include ' > _transMakefile - - kdepotpath=${includedir:-`kde-config --expandvars --install include`}/kde.pot - if ! test -f $kdepotpath; then - kdepotpath=`kde-config --expandvars --prefix`/include/kde.pot - fi - - $MAKE -s -f _transMakefile podir=$podir EXTRACTRC="$EXTRACTRC" PREPARETIPS="$PREPARETIPS" srcdir=. \ - XGETTEXT="${XGETTEXT:-xgettext} --foreign-user -C -ci18n -ki18n -ktr2i18n -kI18N_NOOP -kI18N_NOOP2 -kaliasLocale -x $kdepotpath" messages - exit_code=$? - if test "$exit_code" != 0; then - echo "make exit code: $exit_code" - fi - ) 2>&1 | grep -v '^make\[1\]' > $tmpname - test -s $tmpname && { echo $subdir ; cat "$tmpname"; } - test -f $subdir/rc.cpp && rm -f $subdir/rc.cpp - rm -f $subdir/_translatorinfo.cpp - rm -f $subdir/_transMakefile -done -rm -f $tmpname -} - -package_messages() -{ -rm -rf po.backup -mkdir po.backup - -for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do - egrep -v '^#[^,]' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > po.backup/$i - cat po/$i > po.backup/backup_$i - touch -r po/$i po.backup/backup_$i - rm po/$i -done - -extract_messages - -for i in `ls -1 po.backup/*.pot 2>/dev/null | sed -e "s#po.backup/##" | egrep -v '^backup_'`; do - test -f po/$i || echo "disappeared: $i" -done -for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do - sed -e 's,^"Content-Type: text/plain; charset=CHARSET\\n"$,"Content-Type: text/plain; charset=UTF-8\\n",' po/$i > po/$i.new && mv po/$i.new po/$i - #msgmerge -q -o po/$i po/$i po/$i - egrep -v '^#[^,]' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > temp.pot - if test -f po.backup/$i && ! cmp -s temp.pot po.backup/$i; then - echo "will update $i" - else - if test -f po.backup/backup_$i; then - test -z "$VERBOSE" || echo "I'm restoring $i" - mv po.backup/backup_$i po/$i - rm po.backup/$i - else - echo "will add $i" - fi - fi -done -rm -f temp.pot -rm -rf po.backup -} - -# Make sure that sorting is always done the same way -LC_ALL=C -export LC_ALL -unset LANG || : -unset LC_CTYPE || : -unset LANGUAGE || : - -unset CDPATH || : -admindir=`echo "$0" | sed 's%[\\/][^\\/][^\\/]*$%%'` -test "x$admindir" = "x$0" && admindir=. - -test "x$MAKE" = x && MAKE=make -makefile_am=Makefile.am -makefile_wo=Makefile.am.wo -if test -f Makefile.am.in; then - makefile_am=Makefile.am.in - makefile_wo=Makefile.am.in.wo - rm -f $makefile_wo -fi - -# Call script to find autoconf and friends. Uses eval since the script outputs -# sh-compatible code. -eval `$admindir/detect-autoconf.pl` - -### -### Main -### - -arg=`echo $1 | tr .- __` -case $arg in - cvs | dist | subdir_dist | configure_in | configure_files | subdirs | \ - cvs_clean | package_merge | package_messages | Makefile_am | acinclude_m4 | extract_messages ) $arg ;; - configure ) call_and_fix_autoconf ;; - * ) echo "Usage: cvs.sh <target>" - echo "Target can be one of:" - echo " cvs svn dist" - echo " configure.in configure.files" - echo " package-merge package-messages" - echo "" - echo "Usage: anything but $1" - exit 1 ;; -esac - -if test -f $makefile_wo; then - rm $makefile_wo -fi - -exit 0 diff --git a/kde/admin/debianrules b/kde/admin/debianrules deleted file mode 100755 index 25897f2..0000000 --- a/kde/admin/debianrules +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/perl -w - -use Shell qw(mv cp mkdir rm) ; -use File::Find; -use Cwd; - -$origPwd = `pwd`; -chomp $origPwd; - -$kde_prefix = "/usr"; -$sysconfdir = "/etc"; -$kde_includedir = "$kde_prefix/include/kde"; -$infodir = "$kde_prefix/share/info"; -$mandir = "$kde_prefix/share/man"; -$qtdir = "/usr/share/qt3"; - -$kde_cgidir = "$kde_prefix/lib/cgi-bin"; -$kde_confdir = "$sysconfdir/kde3"; -$kde_htmldir = "$kde_prefix/share/doc/kde/HTML"; - -if (defined $ENV{DEB_BUILD_OPTIONS} && - $ENV{DEB_BUILD_OPTIONS} =~ /\bnostrip\b/) { - $enable_debug="--enable-debug=full"; -} else { - $enable_debug="--disable-debug"; -} - -if (@ARGV && $ARGV[0] eq 'echodirs') { - print STDOUT "export kde_prefix=$kde_prefix\n"; - print STDOUT "export sysconfdir=$sysconfdir\n"; - print STDOUT "export kde_includedir=$kde_includedir\n"; - print STDOUT "export infodir=$infodir\n"; - print STDOUT "export mandir=$mandir\n"; - print STDOUT "export qtdir=$qtdir\n"; - - print STDOUT "export kde_cgidir=$kde_cgidir\n"; - print STDOUT "export kde_confdir=$kde_confdir\n"; - print STDOUT "export kde_htmldir=$kde_htmldir\n"; - - print STDOUT "configkde=$enable_debug --disable-rpath --prefix=\$(kde_prefix) --sysconfdir=\$(sysconfdir) --includedir=\$(kde_includedir) --infodir=\$(infodir) --mandir=\$(mandir) --with-qt-dir=\$(qtdir)\n"; - - exit -} diff --git a/kde/admin/depcomp b/kde/admin/depcomp deleted file mode 100755 index 88b3a13..0000000 --- a/kde/admin/depcomp +++ /dev/null @@ -1,529 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2005-05-14.22 - -# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to <bug-automake@gnu.org>. -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. - "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory -## that the space means something, we add a space to the output as -## well. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the - # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> $depfile - echo >> $depfile - - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> $depfile - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts `$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` - tmpdepfile="$stripped.u" - if test "$libtool" = yes; then - "$@" -Wc,-M - else - "$@" -M - fi - stat=$? - - if test -f "$tmpdepfile"; then : - else - stripped=`echo "$stripped" | sed 's,^.*/,,'` - tmpdepfile="$stripped.u" - fi - - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - - if test -f "$tmpdepfile"; then - outname="$stripped.o" - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" - sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want: - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # With Tru64 cc, shared objects can also be used to make a - # static library. This mecanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. - "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no - for arg in "$@"; do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix="`echo $object | sed 's/^.*\././'`" - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E | - sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - "$@" || exit $? - IFS=" " - for arg - do - case "$arg" in - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/kde/admin/deps.am b/kde/admin/deps.am deleted file mode 100644 index e8f5015..0000000 --- a/kde/admin/deps.am +++ /dev/null @@ -1,19 +0,0 @@ -$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in $(top_srcdir)/admin/cvs.sh $(top_srcdir)/admin/pkg.m4.in - @cd $(top_srcdir) && $(SHELL) admin/cvs.sh acinclude_m4 - -$(top_srcdir)/configure.in: $(top_srcdir)/subdirs $(top_srcdir)/configure.files $(top_srcdir)/admin/cvs.sh - @cd $(top_srcdir) && $(SHELL) admin/cvs.sh configure_in - -$(top_srcdir)/configure.files: $(top_srcdir)/subdirs $(CONF_FILES) - @cd $(top_srcdir) && $(SHELL) admin/cvs.sh configure.files $(top_srcdir)/admin/cvs.sh - -$(top_srcdir)/Makefile.am: $(top_srcdir)/Makefile.am.in $(top_srcdir)/subdirs $(top_srcdir)/admin/cvs.sh - @cd $(top_srcdir) && $(SHELL) admin/cvs.sh Makefile_am - -$(top_srcdir)/subdirs: $(top_srcdir)/Makefile.am.in $(top_srcdir)/admin/cvs.sh - @cd $(top_srcdir) && $(SHELL) admin/cvs.sh subdirs - -# defining default rules for files that may not be present -$(top_srcdir)/Makefile.am.in: -$(CONF_FILES): - diff --git a/kde/admin/detect-autoconf.pl b/kde/admin/detect-autoconf.pl deleted file mode 100755 index 7166bce..0000000 --- a/kde/admin/detect-autoconf.pl +++ /dev/null @@ -1,173 +0,0 @@ -#!/usr/bin/env perl - -# Try to locate best version of auto* -# By Michael Pyne <michael.pyne@kdemail.net> -# -# Copyright (c) 2005. -# This code is public domain. You may use it however you like (including -# relicensing). - -# Emulate the 'which' program. -sub which -{ - my $prog = shift; - my @paths = split(/:/, $ENV{'PATH'}); - - for $path (@paths) - { - return "$path/$prog" if -x "$path/$prog"; - } - - return ""; -} - -# Subroutine to determine the highest installed version of the given program, -# searching from the given paths. -sub findBest -{ - my ($program, @paths) = @_; - my $best_version_found = '0'; # Deliberately a string. - my %versions; - my %minimumVersions = ( - 'autoconf' => '2.5', - 'automake' => '1.6', - ); - - # Allow user to use environment variable to override search. - return $ENV{uc $program} if $ENV{uc $program}; - - for $prefix (@paths) - { - @files = glob "$prefix/$program*"; - for $file (@files) - { - # Don't check non-executable scripts. - next unless -x $file; - - ($version) = $file =~ /$prefix\/$program-?(.*)$/; - $version =~ s/-|\.//g; - - # Special case some programs to make sure it has a minimum version. - if (not $version and exists $minimumVersions{$program}) - { - my $min_version = $minimumVersions{$program}; - my $versionOutput = `$program --version 2>/dev/null | head -n 1`; - - # If we can't run the script to get the version it likely won't work later. - next unless $versionOutput; - - # Use number.number for version (we don't need the excess in general). - ($versionOutput) = ($versionOutput =~ /(\d\.\d)/); - - # Use lt to do lexicographical comparison of strings (which should be - # equivalent and doesn't involve issues with floating point conversions). - if (not $versionOutput or $versionOutput lt $min_version) - { - next; - } - } - - # If no version suffix then use it in favor of a versioned autotool - # since the ever-popular WANT_AUTOFOO should then work (in theory). - return $file unless $version; - - # Emulate 'which', and abort if we've already seen this version. - next if exists $versions{$version}; - - # Save filename of program. - $versions{$version} = $file; - - # Use string comparison so that e.g. 253a will be > 253 but < 254. - if ($version gt $best_version_found) - { - $best_version_found = $version; - } - } - } - - return $versions{$best_version_found}; -} - -# Find an appropriate "which" program for later use by the shell script calling -# us. -sub findWhich -{ - for $candidate ('type -p', 'which', 'type') - { - $test = `$candidate sh 2>/dev/null`; - chomp $test; - - return $candidate if -x $test; - } -} - -# Uses which() to find a program unless the user provided its path in the -# environment (the upper case program name is searched). -sub findProgram -{ - $suffix = ""; # For use if @_ has only one param. - my ($program, $suffix) = @_; - - return $ENV{uc $program} if $ENV{uc $program}; - return which("$program$suffix"); -} - -# SCRIPT STARTS. - -# Search in path. -@paths = split(/:/, $ENV{'PATH'}); - -# Make sure at least /usr/bin and /usr/local/bin are in this search. -unshift @paths, '/usr/local/bin' unless grep $_ eq '/usr/local/bin', @paths; -unshift @paths, '/usr/bin' unless grep $_ eq '/usr/bin', @paths; - -$autoconf = findBest('autoconf', @paths); -($autoconf_suffix) = $autoconf =~ /.*autoconf(.*)$/; - -# Find matching autoconf companions. -$autoheader = findProgram('autoheader', $autoconf_suffix); -$autom4te = findProgram('autom4te', $autoconf_suffix); - -# Get best automake, and look for unsermake to possibly override it. -$automake = findBest('automake', @paths); -$unsermake = ""; -# backward compatible: if $UNSERMAKE points to a path, use it -$unsermake = findProgram('unsermake') if (defined($ENV{'UNSERMAKE'}) and $ENV{'UNSERMAKE'} =~ /\//); -# new compatible: if it says 'yes', use the one from path -$unsermake = which('unsermake') if ($ENV{'UNSERMAKE'} ne 'no'); - -($automake_suffix) = $automake =~ /.*automake(.*)$/; - -# Use unsermake if we found it. -$automake = "$unsermake -c" if $unsermake; - -# Find matching automake companions. -$aclocal = findProgram('aclocal', $automake_suffix); - -$which = findWhich(); - -# Make sure we have all of the needed programs. -for $i (qw'autoconf autoheader autom4te automake aclocal') -{ - unless(${$i}) - { - print "# Unable to find $i!!\n"; - exit 1; - } -} - -# Print results in eval-able form. -print <<EOF; -AUTOCONF="$autoconf" -AUTOHEADER="$autoheader" -AUTOM4TE="$autom4te" - -AUTOMAKE="$automake" -ACLOCAL="$aclocal" - -WHICH="$which" - -export AUTOCONF AUTOHEADER AUTOM4TE AUTOMAKE ACLOCAL WHICH -EOF - -exit 0; diff --git a/kde/admin/doxygen.sh b/kde/admin/doxygen.sh deleted file mode 100644 index 98cb9ba..0000000 --- a/kde/admin/doxygen.sh +++ /dev/null @@ -1,872 +0,0 @@ -#! /bin/sh -# -# doxygen.sh Copyright (C) 2005 by Adriaan de Groot -# Based on some code from Doxyfile.am, among other things. -# License: GPL version 2. -# See file COPYING in kdelibs for details. - -echo "*** doxygen.sh" - -# Recurse handling is a little complicated, since normally -# subdir (given on the command-line) processing doesn't recurse -# but you can force it to do so. -recurse=1 -recurse_given=NO -use_modulename=1 -cleanup=YES - -while test -n "$1" ; do -case "x$1" in -"x--no-cleanup" ) - cleanup=NO - ;; -"x--no-recurse" ) - recurse=0 - recurse_given=YES - ;; -"x--recurse" ) - recurse=1 - recurse_given=YES - ;; -"x--no-modulename" ) - use_modulename=0 - ;; -"x--modulename" ) - use_modulename=1 - ;; -"x--help" ) - echo "doxygen.sh usage:" - echo "doxygen.sh [--no-recurse] [--no-modulename] <srcdir> [<subdir>]" - exit 2 - ;; -x--doxdatadir=* ) - DOXDATA=`echo $1 | sed -e 's+--doxdatadir=++'` - ;; -x--installdir=*) - PREFIX=`echo $1 | sed -e 's+--installdir=++'` - ;; -x--* ) - echo "Unknown option: $1" - exit 1 - ;; -* ) - top_srcdir="$1" - break - ;; -esac -shift -done - - -### Sanity check the mandatory "top srcdir" argument. -if test -z "$top_srcdir" ; then - echo "Usage: doxygen.sh <top_srcdir>" - exit 1 -fi -if ! test -d "$top_srcdir" ; then - echo "top_srcdir ($top_srcdir) is not a directory." - exit 1 -fi - -### Normalize top_srcdir so it is an absolute path. -if ! expr "x$top_srcdir" : "x/" > /dev/null ; then - top_srcdir=`cd "$top_srcdir" 2> /dev/null && pwd` - if ! test -d "$top_srcdir" ; then - echo "top_srcdir ($top_srcdir) is not a directory." - exit 1 - fi -fi - - - -### Sanity check and guess QTDOCDIR. -if test -z "$QTDOCDIR" ; then - if test -z "$QTDIR" ; then - for i in /usr/X11R6/share/doc/qt/html - do - QTDOCDIR="$i" - test -d "$QTDOCDIR" && break - done - else - for i in share/doc/qt/html doc/html - do - QTDOCDIR="$QTDIR/$i" - test -d "$QTDOCDIR" && break - done - fi -fi -if test -z "$QTDOCDIR" || test \! -d "$QTDOCDIR" ; then - if test -z "$QTDOCDIR" ; then - echo "* QTDOCDIR could not be guessed." - else - echo "* QTDOCDIR does not name a directory." - fi - if test -z "$QTDOCTAG" ; then - echo "* QTDOCDIR set to \"\"" - QTDOCDIR="" - else - echo "* But I'll use $QTDOCDIR anyway because of QTDOCTAG." - fi -fi - -### Get the "top srcdir", also its name, and handle the case that subdir "." -### is given (which would be top_srcdir then, so it's equal to none-given -### but no recursion either). -### -# top_srcdir="$1" # Already set by options processing -module_name=`basename "$top_srcdir"` -subdir="$2" -if test "x." = "x$subdir" ; then - subdir="" - if test "x$recurse_given" = "xNO" ; then - recurse=0 - fi -fi -if test "x" != "x$subdir" ; then - # If no recurse option given explicitly, default to - # no recurse when processing subdirs given on the command-line. - if test "x$recurse_given" = "xNO" ; then - recurse=0 - fi -fi - -if test -z "$DOXDATA" || test ! -d "$DOXDATA" ; then - if test -n "$DOXDATA" ; then - echo "* \$DOXDATA is '$DOXDATA' which does not name a directory" - fi - DOXDATA="$top_srcdir/doc/common" -fi - -if ! test -d "$DOXDATA" ; then - echo "* \$DOXDATA does not name a directory ( or is unset ), tried \"$DOXDATA\"" - exit 1 -fi - -if test -n "$PREFIX" && test ! -d "$PREFIX" ; then - echo "* \$PREFIX does not name a directory, tried \"$PREFIX\"" - echo "* \$PREFIX is disabled." - PREFIX="" -fi - -### We need some values from top-level files, which -### are not preserved between invocations of this -### script, so factor it out for easy use. -create_doxyfile_in() -{ - eval `grep 'VERSION="' "$top_srcdir/admin/cvs.sh"` - echo "PROJECT_NUMBER = $VERSION" > Doxyfile.in - grep ^KDE_INIT_DOXYGEN "$top_srcdir/configure.in.in" | \ - sed -e 's+[^[]*\[\([^]]*\)+PROJECT_NAME = "\1"+' \ - -e 's+].*++' >> Doxyfile.in -} - -apidoxdir="$module_name"-apidocs -test "x$use_modulename" = "x0" && apidoxdir="apidocs" - -### If we're making the top subdir, create the structure -### for the apidox and initialize it. Otherwise, just use the -### structure assumed to be there. -if test -z "$subdir" ; then - if ! test -d "$apidoxdir" ; then - mkdir "$apidoxdir" > /dev/null 2>&1 - fi - if ! cd "$apidoxdir" > /dev/null 2>&1 ; then - echo "Cannot create and cd into $apidoxdir" - exit 1 - fi - - test -f "Doxyfile.in" || create_doxyfile_in - - # Copy in logos and the like - for i in "favicon.ico" "kde_gear_64.png" - do - cp "$DOXDATA/$i" . > /dev/null 2> /dev/null - done - for i in "$top_srcdir/doc/api/Dox-"*.png - do - T=`basename "$i" | sed -e 's+Dox-++'` - test -f "$i" && cp "$i" "./$T" > /dev/null 2> /dev/null - done - - top_builddir="." - srcdir="$1" - subdir="." -else - if ! cd "$apidoxdir" > /dev/null 2>&1 ; then - echo "Cannot cd into $apidoxdir -- maybe you need to" - echo "build the top-level dox first." - exit 1 - fi - - if test "x1" = "x$recurse" ; then - # OK, so --recurse was requested - if ! test -f "subdirs.top" ; then - echo "* No subdirs.top available in the $apidoxdir." - echo "* The --recurse option will be ignored." - recurse=0 - fi - fi -fi - -### Read a single line (TODO: support \ continuations) from the Makefile.am. -### Used to extract variable assignments from it. -extract_line() -{ - file="$2" ; test -z "$file" && file="$srcdir/Makefile.am" - pattern=`echo "$1" | tr + .` - grep "^$1" "$file" | \ - sed -e "s+$pattern.*=\s*++" -} - -### Handle the COMPILE_{FIRST,LAST,BEFORE,AFTER} part of Makefile.am -### in the toplevel. Copied from admin/cvs.sh. Licence presumed LGPL). -create_subdirs() -{ -echo "* Sorting top-level subdirs" -dirs= -idirs= -if test -f "$top_srcdir/inst-apps"; then - idirs=`cat "$top_srcdir/"inst-apps` -else - idirs=`cd "$top_srcdir" && ls -1 | sort` -fi - -compilefirst="" -compilelast="" -if test -f "$top_srcdir/"Makefile.am.in ; then - compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' "$top_srcdir/"Makefile.am.in | head -n 1` - compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' "$top_srcdir/"Makefile.am.in | head -n 1` -fi -for i in $idirs; do - if test -f "$top_srcdir/$i"/Makefile.am; then - case " $compilefirst $compilelast " in - *" $i "*) ;; - *) dirs="$dirs $i" - esac - fi -done - -: > ./_SUBDIRS - -for d in $compilefirst; do - echo $d >> ./_SUBDIRS -done - -(for d in $dirs; do - list="" - if test -f "$top_srcdir/"Makefile.am.in ; then - list=`sed -ne "s#^COMPILE_BEFORE_$d""[ ]*=[ ]*##p" "$top_srcdir/"Makefile.am.in | head -n 1` - fi - for s in $list; do - echo $s $d - done - list="" - if test -f "$top_srcdir/"Makefile.am.in ; then - list=`sed -ne "s#^COMPILE_AFTER_$d""[ ]*=[ ]*##p" "$top_srcdir/"Makefile.am.in | head -n 1` - fi - for s in $list; do - echo $d $s - done - echo $d $d -done ) | tsort >> ./_SUBDIRS - -for d in $compilelast; do - echo $d >> ./_SUBDIRS -done - -test -r _SUBDIRS && mv _SUBDIRS subdirs.top || true -} - - -### Add HTML header, footer, CSS tags to Doxyfile. -### Assumes $subdir is set. Argument is a string -### to stick in front of the file if needed. -apidox_htmlfiles() -{ - dox_header="$top_srcdir/doc/api/$1header.html" - dox_footer="$top_srcdir/doc/api/$1footer.html" - dox_css="$top_srcdir/doc/api/doxygen.css" - test -f "$dox_header" || dox_header="$DOXDATA/$1header.html" - test -f "$dox_footer" || dox_footer="$DOXDATA/$1footer.html" - test -f "$dox_css" || dox_css="$DOXDATA/doxygen.css" - - echo "HTML_HEADER = $dox_header" >> "$subdir/Doxyfile" ; \ - echo "HTML_FOOTER = $dox_footer" >> "$subdir/Doxyfile" ; \ - echo "HTML_STYLESHEET = $dox_css" >> "$subdir/Doxyfile" -} - -apidox_specials() -{ - line=`extract_line DOXYGEN_PROJECTNAME "$1"` - test -n "$line" && echo "PROJECT_NAME = \"$line\"" >> "$2" -} - -apidox_local() -{ - for i in "$top_srcdir/doc/api/Doxyfile.local" - do - if test -f "$i" ; then - cat "$i" >> "$subdir/Doxyfile" - break - fi - done -} - -### Post-process HTML files by substituting in the menu files -# -# In non-top directories, both <!-- menu --> and <!-- gmenu --> -# are calculated and replaced. Top directories get an empty <!-- menu --> -# if any. -doxyndex() -{ - # Special case top-level to have an empty MENU. - if test "x$subdir" = "x." ; then - MENU="" - htmldir="." - htmltop="$top_builddir" # Just ., presumably - echo "* Post-processing top-level files" - else - MENU="<ul>" - htmldir="$subdir/html" - htmltop="$top_builddir.." # top_builddir ends with / - echo "* Post-processing files in $htmldir" - - # Build a little PHP file that maps class names to file - # names, for the quick-class-picker functionality. - # (The quick-class-picker is disabled due to styling - # problems in IE & FF). - ( - echo "<?php \$map = array("; \ - for htmlfile in `find $htmldir/ -type f -name "class[A-Z]*.html" | grep -v "\-members.html$"`; do - classname=`echo $htmlfile | sed -e "s,.*/class\\(.*\\).html,\1," -e "s,_1_1,::,g" -e "s,_01, ,g" -e "s,_4,>,g" -e "s+_00+,+g" -e "s+_3+<+g" | tr "[A-Z]" "[a-z]"` - echo " \"$classname\" => \"$htmlfile\"," - done | sort ; \ - echo ") ?>" - ) > "$subdir/classmap.inc" - - # This is a list of pairs, with / separators so we can use - # basename and dirname (a crude shell hack) to split them - # into parts. For each, if the file part exists (as a html - # file) tack it onto the MENU variable as a <li> with link. - for i in "Main Page/index" \ - "Modules/modules" \ - "Namespace List/namespaces" \ - "Class Hierarchy/hierarchy" \ - "Alphabetical List/classes" \ - "Class List/annotated" \ - "File List/files" \ - "Directories/dirs" \ - "Namespace Members/namespacemembers" \ - "Class Members/functions" \ - "Related Pages/pages" - do - NAME=`dirname "$i"` - FILE=`basename "$i"` - test -f "$htmldir/$FILE.html" && MENU="$MENU<li><a href=\"$FILE.html\">$NAME</a></li>" - done - - MENU="$MENU</ul>" - fi - - - # Get the list of global Menu entries. - GMENU=`cat subdirs | tr -d '\n'` - - PMENU=`grep '<!-- pmenu' "$htmldir/index.html" | sed -e 's+.*pmenu *++' -e 's+ *-->++' | awk '{ c=split($0,a,"/"); for (j=1; j<=c; j++) { printf " / <a href=\""; if (j==c) { printf("."); } for (k=j; k<c; k++) { printf "../"; } if (j<c) { printf("../html/index.html"); } printf "\">%s</a>\n" , a[j]; } }' | tr -d '\n'` - - # Map the PHP file into HTML options so that - # it can be substituted in for the quick-class-picker. - CMENU="" - # For now, leave the CMENU disabled - CMENUBEGIN="<!--" - CMENUEND="-->" - - if test "x$subdir" = "x." ; then - # Disable CMENU on toplevel anyway - CMENUBEGIN="<!--" - CMENUEND="-->" - else - test -f "$subdir/classmap.inc" && \ - CMENU=`grep '=>' "$subdir/classmap.inc" | sed -e 's+"\([^"]*\)" => "'"$subdir/html/"'\([^"]*\)"+<option value="\2">\1<\/option>+' | tr -d '\n'` - - if ! test -f "$subdir/classmap.inc" || ! grep "=>" "$subdir/classmap.inc" > /dev/null 2>&1 ; then - CMENUBEGIN="<!--" - CMENUEND="-->" - fi - fi - - # Now substitute in the MENU in every file. This depends - # on HTML_HEADER (ie. header.html) containing the - # <!-- menu --> comment. - for i in "$htmldir"/*.html - do - if test -f "$i" ; then - sed -e "s+<!-- menu -->+$MENU+" \ - -e "s+<!-- gmenu -->+$GMENU+" \ - -e "s+<!-- pmenu.*-->+$PMENU+" \ - -e "s+<!-- cmenu.begin -->+$CMENUBEGIN+" \ - -e "s+<!-- cmenu.end -->+$CMENUEND+" \ - < "$i" | sed -e "s+@topdir@+$htmltop+g" > "$i.new" && mv "$i.new" "$i" - sed -e "s+<!-- cmenu -->+$CMENU+" < "$i" > "$i.new" - test -s "$i.new" && mv "$i.new" "$i" - fi - done -} - - - - - - -### Handle the Doxygen processing of a toplevel directory. -apidox_toplevel() -{ - echo "" - echo "*** Creating API documentation main page for $module_name" - echo "*" - rm -f "Doxyfile" - for i in "$top_srcdir/doc/api/Doxyfile.global" \ - "$top_srcdir/admin/Doxyfile.global" \ - "$DOXDATA/Doxyfile.global" - do - if test -f "$i" ; then - cp "$i" Doxyfile - break - fi - done - - if test ! -f "Doxyfile" ; then - echo "* Cannot create Doxyfile." - exit 1 - fi - - cat "$top_builddir/Doxyfile.in" >> Doxyfile - - - echo "INPUT = $top_srcdir" >> Doxyfile - echo "OUTPUT_DIRECTORY = $top_builddir" >> Doxyfile ; \ - echo "FILE_PATTERNS = *.dox" >> Doxyfile ; \ - echo "RECURSIVE = NO" >> Doxyfile ; \ - echo "ALPHABETICAL_INDEX = NO" >> Doxyfile ; \ - echo "HTML_OUTPUT = ." >> Doxyfile ; \ - apidox_htmlfiles "main" - - # KDevelop has a top-level Makefile.am with settings. - for i in "$top_srcdir/Makefile.am.in" "$top_srcdir/Makefile.am" - do - if test -f "$i" ; then - grep '^DOXYGEN_SET_' "$i" | \ - sed -e 's+DOXYGEN_SET_++' -e "s+@topdir@+$top_srcdir+" >> Doxyfile - apidox_specials "$srcdir/Makefile.am" "$subdir/Doxyfile" - - break - fi - done - - apidox_local - - doxygen Doxyfile - - ( cd "$top_srcdir" && grep -l ^include.*Doxyfile.am `find . -name Makefile.am` ) | sed -e 's+/Makefile.am$++' -e 's+^\./++' | sort > subdirs.in - for i in `cat subdirs.in` - do - test "x." = "x$i" && continue; - - dir=`dirname "$i"` - file=`basename "$i"` - if test "x." = "x$dir" ; then - dir="" - else - dir="$dir/" - fi - indent=`echo "$dir" | sed -e 's+[^/]*/+\ \ +g' | sed -e 's+&+\\\&+g'` - entryname=`extract_line DOXYGEN_SET_PROJECT_NAME "$top_srcdir/$dir/$file/Makefile.am"` - test -z "$entryname" && entryname="$file" - - if grep DOXYGEN_EMPTY "$top_srcdir/$dir/$file/Makefile.am" > /dev/null 2>&1 ; then - echo "<li>$indent$file</li>" - else - echo "<li>$indent<a href=\"@topdir@/$dir$file/html/index.html\">$entryname</a></li>" - fi - done > subdirs - - doxyndex -} - -### Handle the Doxygen processing of a non-toplevel directory. -apidox_subdir() -{ - echo "" - echo "*** Creating apidox in $subdir" - echo "*" - rm -f "$subdir/Doxyfile" - if ! test -d "$top_srcdir/$subdir" ; then - echo "* No source (sub)directory $subdir" - return - fi - for i in "$top_srcdir/doc/api/Doxyfile.global" \ - "$top_srcdir/admin/Doxyfile.global" \ - "$DOXDATA/Doxyfile.global" - do - if test -f "$i" ; then - cp "$i" "$subdir/Doxyfile" - break - fi - done - - - test -f "Doxyfile.in" || create_doxyfile_in - cat "Doxyfile.in" >> "$subdir/Doxyfile" - - echo "PROJECT_NAME = \"$subdir\"" >> "$subdir/Doxyfile" - echo "INPUT = $srcdir" >> "$subdir/Doxyfile" - echo "OUTPUT_DIRECTORY = ." >> "$subdir/Doxyfile" - if grep -l "$subdir/" subdirs.in > /dev/null 2>&1 ; then - echo "RECURSIVE = NO" >> "$subdir/Doxyfile" - fi - echo "HTML_OUTPUT = $subdir/html" >> "$subdir/Doxyfile" - echo "GENERATE_TAGFILE = $subdir/$subdirname.tag" >> "$subdir/Doxyfile" - test -d "$top_srcdir/doc/api" && \ - echo "IMAGE_PATH = $top_srcdir/doc/api" >> "$subdir/Doxyfile" - - apidox_htmlfiles "" - - # Makefile.ams may contain overrides to our settings, - # so copy them in. - grep '^DOXYGEN_SET_' "$srcdir/Makefile.am" | \ - sed -e 's+DOXYGEN_SET_++' >> "$subdir/Doxyfile" - apidox_specials "$srcdir/Makefile.am" "$subdir/Doxyfile" - - excludes=`extract_line DOXYGEN_EXCLUDE` - if test -n "$excludes"; then - patterns="" - dirs="" - for item in `echo "$excludes"`; do - if test -d "$top_srcdir/$subdir/$item"; then - dirs="$dirs $top_srcdir/$subdir/$item/" - else - patterns="$patterns $item" - fi - done - echo "EXCLUDE_PATTERNS += $patterns" >> "$subdir/Doxyfile" - echo "EXCLUDE += $dirs" >> "$subdir/Doxyfile" - fi - - echo "TAGFILES = \\" >> "$subdir/Doxyfile" - ## For now, don't support \ continued references lines - tags=`extract_line DOXYGEN_REFERENCES` - for i in $tags qt ; do - tagsubdir=`dirname $i` ; tag=`basename $i` - tagpath="" - not_found="" - - if test "x$tagsubdir" = "x." ; then - tagsubdir="" - else - tagsubdir="$tagsubdir/" - fi - - # Find location of tag file - if test -f "$tagsubdir$tag/$tag.tag" ; then - file="$tagsubdir$tag/$tag.tag" - loc="$tagsubdir$tag/html" - else - # This checks for dox built with_out_ --no-modulename - # in the same build dir as this dox run was started in. - file=`ls -1 ../*-apidocs/"$tagsubdir$tag/$tag.tag" 2> /dev/null` - - if test -n "$file" ; then - loc=`echo "$file" | sed -e "s/$tag.tag\$/html/"` - else - # If the tag file doesn't exist yet, but should - # because we have the right dirs here, queue - # this directory for re-processing later. - if test -d "$top_srcdir/$tagsubdir$tag" ; then - echo "* Need to re-process $subdir for tag $i" - echo "$subdir" >> "subdirs.later" - else - # Re-check in $PREFIX if needed. - test -n "$PREFIX" && \ - file=`cd "$PREFIX" && \ - ls -1 *-apidocs/"$tagsubdir$tag/$tag.tag" 2> /dev/null` - - # If something is found, patch it up. The location must be - # relative to the installed location of the dox and the - # file must be absolute. - if test -n "$file" ; then - loc=`echo "../$file" | sed -e "s/$tag.tag\$/html/"` - file="$PREFIX/$file" - echo "* Tags for $tagsubdir$tag will only work when installed." - not_found="YES" - fi - fi - fi - fi - if test "$tag" = "qt" ; then - if test -z "$QTDOCDIR" ; then - echo " $file" >> "$subdir/Doxyfile" - else - if test -z "$file" ; then - # Really no Qt tags - echo "" >> "$subdir/Doxyfile" - else - echo " $file=$QTDOCDIR" >> "$subdir/Doxyfile" - fi - fi - else - if test -n "$file" ; then - test -z "$not_found" && echo "* Found tag $file" - echo " $file=../$top_builddir$loc \\" >> "$subdir/Doxyfile" - fi - fi - done - - apidox_local - - if ! grep '^DOXYGEN_EMPTY' "$srcdir/Makefile.am" > /dev/null 2>&1 ; then - doxygen "$subdir/Doxyfile" - doxyndex - fi -} - -### Run a given subdir by setting up global variables first. -do_subdir() -{ - subdir=`echo "$1" | sed -e 's+/$++'` - srcdir="$top_srcdir/$subdir" - subdirname=`basename "$subdir"` - mkdir -p "$subdir" 2> /dev/null - if ! test -d "$subdir" ; then - echo "Can't create dox subdirectory $subdir" - return - fi - top_builddir=`echo "/$subdir" | sed -e 's+/[^/]*+../+g'` - apidox_subdir -} - - -### Create installdox-slow in the toplevel -create_installdox() -{ -# Fix up the installdox script so it accepts empty args -# -# This code is copied from the installdox generated by Doxygen, -# copyright by Dimitri van Heesch and released under the GPL. -# This does a _slow_ update of the dox, because it loops -# over the given substitutions instead of assuming all the -# needed ones are given. -# -cat <<\EOF -#! /usr/bin/env perl - -%subst = () ; -$quiet = 0; - -if (open(F,"search.cfg")) -{ - $_=<F> ; s/[ \t\n]*$//g ; $subst{"_doc"} = $_; - $_=<F> ; s/[ \t\n]*$//g ; $subst{"_cgi"} = $_; -} - -while ( @ARGV ) { - $_ = shift @ARGV; - if ( s/^-// ) { - if ( /^l(.*)/ ) { - $v = ($1 eq "") ? shift @ARGV : $1; - ($v =~ /\/$/) || ($v .= "/"); - $_ = $v; - if ( /(.+)\@(.+)/ ) { - $subst{$1} = $2; - } else { - print STDERR "Argument $_ is invalid for option -l\n"; - &usage(); - } - } - elsif ( /^q/ ) { - $quiet = 1; - } - elsif ( /^\?|^h/ ) { - &usage(); - } - else { - print STDERR "Illegal option -$_\n"; - &usage(); - } - } - else { - push (@files, $_ ); - } -} - - -if ( ! @files ) { - if (opendir(D,".")) { - foreach $file ( readdir(D) ) { - $match = ".html"; - next if ( $file =~ /^\.\.?$/ ); - ($file =~ /$match/) && (push @files, $file); - ($file =~ "tree.js") && (push @files, $file); - } - closedir(D); - } -} - -if ( ! @files ) { - print STDERR "Warning: No input files given and none found!\n"; -} - -foreach $f (@files) -{ - if ( ! $quiet ) { - print "Editing: $f...\n"; - } - $oldf = $f; - $f .= ".bak"; - unless (rename $oldf,$f) { - print STDERR "Error: cannot rename file $oldf\n"; - exit 1; - } - if (open(F,"<$f")) { - unless (open(G,">$oldf")) { - print STDERR "Error: opening file $oldf for writing\n"; - exit 1; - } - if ($oldf ne "tree.js") { - while (<F>) { - foreach $sub (keys %subst) { - s/doxygen\=\"$sub\:([^ \"\t\>\<]*)\" (href|src)=\"\1/doxygen\=\"$sub:$subst{$sub}\" \2=\"$subst{$sub}/g; - print G "$_"; - } - } - } - else { - while (<F>) { - foreach $sub (keys %subst) { - s/\"$sub\:([^ \"\t\>\<]*)\", \"\1/\"$sub:$subst{$sub}\" ,\"$subst{$sub}/g; - print G "$_"; - } - } - } - } - else { - print STDERR "Warning file $f does not exist\n"; - } - unlink $f; -} - -sub usage { - print STDERR "Usage: installdox [options] [html-file [html-file ...]]\n"; - print STDERR "Options:\n"; - print STDERR " -l tagfile\@linkName tag file + URL or directory \n"; - print STDERR " -q Quiet mode\n\n"; - exit 1; -} -EOF -} - -# Do only the subdirs that match the RE passed in as $1 -do_subdirs_re() -{ - RE=`echo "$1" | sed -e 's+/$++'` - - # Here's a queue of dirs to re-process later when - # all the rest have been done already. - > subdirs.later - - # subdirs.top lists _all_ subdirs of top in the order they - # should be handled; subdirs.in lists those dirs that contain - # dox. So the intersection of the two is the ordered list - # of top-level subdirs that contain dox. - # - # subdirs.top also doesn't contain ".", so that special - # case can be ignored in the loop. - - - ( - for i in `grep "^$RE" subdirs.top` - do - if test "x$i" = "x." ; then - continue - fi - # Calculate intersection of this element and the - # set of dox dirs. - if grep "^$i\$" subdirs.in > /dev/null 2>&1 ; then - echo "$i" - mkdir -p "$i" 2> /dev/null - - # Handle the subdirs of this one - for j in `grep "$i/" subdirs.in` - do - echo "$j" - mkdir -p "$j" 2> /dev/null - done - fi - done - - # Now we still need to handle whatever is left - for i in `cat subdirs.in` - do - test -d "$i" || echo "$i" - mkdir -p "$i" 2> /dev/null - done - ) > subdirs.sort - for i in `cat subdirs.sort` - do - do_subdir "$i" - done - - if test -s "subdirs.later" ; then - sort subdirs.later | uniq > subdirs.sort - for i in `cat subdirs.sort` - do - : > subdirs.later - echo "*** Reprocessing $i" - do_subdir "$i" - test -s "subdirs.later" && echo "* Some tag files were still not found." - done - fi -} - -if test "x." = "x$top_builddir" ; then - apidox_toplevel - create_subdirs - create_installdox > installdox-slow - if test "x$recurse" = "x1" ; then - if test "x$module_name" = "xkdelibs" ; then - if test -z "$QTDOCTAG" && test -d "$QTDOCDIR" && \ - test ! -f "qt/qt.tag" ; then - # Special case: create a qt tag file. - echo "*** Creating a tag file for the Qt library:" - mkdir qt - doxytag -t qt/qt.tag "$QTDOCDIR" > /dev/null 2>&1 - fi - fi - if test -n "$QTDOCTAG" && test -r "$QTDOCTAG" ; then - echo "*** Copying tag file for the Qt library:" - mkdir qt - cp "$QTDOCTAG" qt/qt.tag - fi - - do_subdirs_re "." - - fi -else - if test "x$recurse" = "x1" ; then - do_subdirs_re "$subdir" - else - do_subdir "$subdir" - fi -fi - - -# At the end of a run, clean up stuff. -if test "YES" = "$cleanup" ; then - rm -f subdirs.in subdirs.later subdirs.sort subdirs.top Doxyfile.in - rm -f `find . -name Doxyfile` - rm -f qt/qt.tag - rmdir qt > /dev/null 2>&1 -fi - - -exit 0 - diff --git a/kde/admin/install-sh b/kde/admin/install-sh deleted file mode 100755 index 4d4a951..0000000 --- a/kde/admin/install-sh +++ /dev/null @@ -1,323 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2005-05-14.22 - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" - -# put in absolute paths if you don't have them in your path; or use env. vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -chmodcmd="$chmodprog 0755" -chowncmd= -chgrpcmd= -stripcmd= -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src= -dst= -dir_arg= -dstarg= -no_target_directory= - -usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: --c (ignored) --d create directories instead of installing files. --g GROUP $chgrpprog installed files to GROUP. --m MODE $chmodprog installed files to MODE. --o USER $chownprog installed files to USER. --s $stripprog installed files. --t DIRECTORY install into DIRECTORY. --T report an error if DSTFILE is a directory. ---help display this help and exit. ---version display version info and exit. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG -" - -while test -n "$1"; do - case $1 in - -c) shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - --help) echo "$usage"; exit $?;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -s) stripcmd=$stripprog - shift - continue;; - - -t) dstarg=$2 - shift - shift - continue;; - - -T) no_target_directory=true - shift - continue;; - - --version) echo "$0 $scriptversion"; exit $?;; - - *) # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - test -n "$dir_arg$dstarg" && break - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dstarg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dstarg" - shift # fnord - fi - shift # arg - dstarg=$arg - done - break;; - esac -done - -if test -z "$1"; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call `install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -for src -do - # Protect names starting with `-'. - case $src in - -*) src=./$src ;; - esac - - if test -n "$dir_arg"; then - dst=$src - src= - - if test -d "$dst"; then - mkdircmd=: - chmodcmd= - else - mkdircmd=$mkdirprog - fi - else - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dstarg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - - dst=$dstarg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst ;; - esac - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dstarg: Is a directory" >&2 - exit 1 - fi - dst=$dst/`basename "$src"` - fi - fi - - # This sed command emulates the dirname command. - dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` - - # Make sure that the destination directory exists. - - # Skip lots of stat calls in the usual case. - if test ! -d "$dstdir"; then - defaultIFS=' - ' - IFS="${IFS-$defaultIFS}" - - oIFS=$IFS - # Some sh's can't handle IFS=/ for some reason. - IFS='%' - set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` - shift - IFS=$oIFS - - pathcomp= - - while test $# -ne 0 ; do - pathcomp=$pathcomp$1 - shift - if test ! -d "$pathcomp"; then - $mkdirprog "$pathcomp" - # mkdir can fail with a `File exist' error in case several - # install-sh are creating the directory concurrently. This - # is OK. - test -d "$pathcomp" || exit - fi - pathcomp=$pathcomp/ - done - fi - - if test -n "$dir_arg"; then - $doit $mkdircmd "$dst" \ - && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } - - else - dstfile=`basename "$dst"` - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - trap '(exit $?); exit' 1 2 13 15 - - # Copy the file name to the temp name. - $doit $cpprog "$src" "$dsttmp" && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && - - # Now rename the file to the real destination. - { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ - || { - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - if test -f "$dstdir/$dstfile"; then - $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ - || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ - || { - echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 - (exit 1); exit 1 - } - else - : - fi - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" - } - } - fi || { (exit 1); exit 1; } -done - -# The final little trick to "correctly" pass the exit status to the exit trap. -{ - (exit 0); exit 0 -} - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/kde/admin/libtool.m4.in b/kde/admin/libtool.m4.in deleted file mode 100644 index ce9f5ab..0000000 --- a/kde/admin/libtool.m4.in +++ /dev/null @@ -1,5891 +0,0 @@ -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -## Copyright 1996, 1997, 1998, 1999, 2000, 2001 -## Free Software Foundation, Inc. -## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 -## -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 2 of the License, or -## (at your option) any later version. -## -## This program is distributed in the hope that it will be useful, but -## WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -## General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -## -## As a special exception to the GNU General Public License, if you -## distribute this file as part of a program that contains a -## configuration script generated by Autoconf, you may include it under -## the same distribution terms that you use for the rest of that program. - -# serial 47 AC_PROG_LIBTOOL - - -# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) -# ----------------------------------------------------------- -# If this macro is not defined by Autoconf, define it here. -m4_ifdef([AC_PROVIDE_IFELSE], - [], - [m4_define([AC_PROVIDE_IFELSE], - [m4_ifdef([AC_PROVIDE_$1], - [$2], [$3])])]) - - -# AC_PROG_LIBTOOL -# --------------- -AC_DEFUN([AC_PROG_LIBTOOL], -[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl -dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX -dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. - AC_PROVIDE_IFELSE([AC_PROG_CXX], - [AC_LIBTOOL_CXX], - [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX - ])]) -dnl And a similar setup for Fortran 77 support - AC_PROVIDE_IFELSE([AC_PROG_F77], - [AC_LIBTOOL_F77], - [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 -])]) - -dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. -dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run -dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. - AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [ifdef([AC_PROG_GCJ], - [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([A][M_PROG_GCJ], - [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([LT_AC_PROG_GCJ], - [define([LT_AC_PROG_GCJ], - defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) -])])# AC_PROG_LIBTOOL - - -# _AC_PROG_LIBTOOL -# ---------------- -AC_DEFUN([_AC_PROG_LIBTOOL], -[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl -AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl -AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl -AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool --silent' -AC_SUBST(LIBTOOL)dnl - -# Prevent multiple expansion -define([AC_PROG_LIBTOOL], []) -])# _AC_PROG_LIBTOOL - - -# AC_LIBTOOL_SETUP -# ---------------- -AC_DEFUN([AC_LIBTOOL_SETUP], -[AC_PREREQ(2.50)dnl -AC_REQUIRE([AC_ENABLE_SHARED])dnl -AC_REQUIRE([AC_ENABLE_STATIC])dnl -AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_LD])dnl -AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl -AC_REQUIRE([AC_PROG_NM])dnl - -AC_REQUIRE([AC_PROG_LN_S])dnl -AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! -AC_REQUIRE([AC_OBJEXT])dnl -AC_REQUIRE([AC_EXEEXT])dnl -dnl - -AC_LIBTOOL_SYS_MAX_CMD_LEN -AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -AC_LIBTOOL_OBJDIR - -AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -_LT_AC_PROG_ECHO_BACKSLASH - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e s/^X//' -[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] - -# Same as above, but do not quote variable references. -[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except M$VC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" - -AC_CHECK_TOOL(AR, ar, false) -AC_CHECK_TOOL(RANLIB, ranlib, :) -AC_CHECK_TOOL(STRIP, strip, :) - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" - ;; - *) - old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - AC_PATH_MAGIC - fi - ;; -esac - -AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -enable_win32_dll=yes, enable_win32_dll=no) - -AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -AC_ARG_WITH([pic], - [AC_HELP_STRING([--with-pic], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], - [pic_mode=default]) -test -z "$pic_mode" && pic_mode=default - -# Use C for the default configuration in the libtool script -tagname= -AC_LIBTOOL_LANG_C_CONFIG -_LT_AC_TAGCONFIG -])# AC_LIBTOOL_SETUP - - -# _LT_AC_SYS_COMPILER -# ------------------- -AC_DEFUN([_LT_AC_SYS_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_AC_SYS_COMPILER - - -# _LT_AC_SYS_LIBPATH_AIX -# ---------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], -[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi],[]) -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -])# _LT_AC_SYS_LIBPATH_AIX - - -# _LT_AC_SHELL_INIT(ARG) -# ---------------------- -AC_DEFUN([_LT_AC_SHELL_INIT], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -$1 -AC_DIVERT_POP -])# _LT_AC_SHELL_INIT - - -# _LT_AC_PROG_ECHO_BACKSLASH -# -------------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. -AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], -[_LT_AC_SHELL_INIT([ -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac - -echo=${ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi - -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<EOF -[$]* -EOF - exit 0 -fi - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi - -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string="`eval $cmd`") 2>/dev/null && - echo_test_string="`eval $cmd`" && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi - -AC_SUBST(ECHO) -])])# _LT_AC_PROG_ECHO_BACKSLASH - - -# _LT_AC_LOCK -# ----------- -AC_DEFUN([_LT_AC_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case "`/usr/bin/file conftest.o`" in - *32-bit*) - LINUX_64_MODE="32" - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - LINUX_64_MODE="64" - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -[*-*-cygwin* | *-*-mingw* | *-*-pw32*) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; - ]) -esac - -need_locks="$enable_libtool_lock" - -])# _LT_AC_LOCK - - -# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], -[AC_REQUIRE([LT_AC_PROG_SED]) -AC_CACHE_CHECK([$1], [$2], - [$2=no - ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test ! -s conftest.err; then - $2=yes - fi - fi - $rm conftest* -]) - -if test x"[$]$2" = xyes; then - ifelse([$5], , :, [$5]) -else - ifelse([$6], , :, [$6]) -fi -])# AC_LIBTOOL_COMPILER_OPTION - - -# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ------------------------------------------------------------ -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], -[AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - printf "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - else - $2=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - ifelse([$4], , :, [$4]) -else - ifelse([$5], , :, [$5]) -fi -])# AC_LIBTOOL_LINKER_OPTION - - -# AC_LIBTOOL_SYS_MAX_CMD_LEN -# -------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], -[# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - testring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - *) - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$testring" 2>/dev/null` \ - = "XX$testring") >/dev/null 2>&1 && - new_result=`expr "X$testring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - testring=$testring$testring - done - testring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -])# AC_LIBTOOL_SYS_MAX_CMD_LEN - - -# _LT_AC_CHECK_DLFCN -# -------------------- -AC_DEFUN([_LT_AC_CHECK_DLFCN], -[AC_CHECK_HEADERS(dlfcn.h)dnl -])# _LT_AC_CHECK_DLFCN - - -# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ------------------------------------------------------------------ -AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<EOF -[#line __oline__ "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include <dlfcn.h> -#endif - -#include <stdio.h> - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - - exit (status); -}] -EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_unknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_AC_TRY_DLOPEN_SELF - - -# AC_LIBTOOL_DLOPEN_SELF -# ------------------- -AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - LDFLAGS="$LDFLAGS $link_static_flag" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -])# AC_LIBTOOL_DLOPEN_SELF - - -# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) -# --------------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler -AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - # According to Tom Tromey, Ian Lance Taylor reported there are C compilers - # that will create temporary files in the current directory regardless of - # the output directory. Thus, making CWD read-only will cause this test - # to fail, enabling locking or at least warning the user not to do parallel - # builds. - chmod -w . - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test ! -s out/conftest.err; then - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . - $rm conftest* out/* - rmdir out - cd .. - rmdir conftest - $rm conftest* -]) -])# AC_LIBTOOL_PROG_CC_C_O - - -# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) -# ----------------------------------------- -# Check to see if we can do hard links to lock some files if needed -AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], -[AC_REQUIRE([_LT_AC_LOCK])dnl - -hard_links="nottested" -if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS - - -# AC_LIBTOOL_OBJDIR -# ----------------- -AC_DEFUN([AC_LIBTOOL_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -])# AC_LIBTOOL_OBJDIR - - -# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) -# ---------------------------------------------- -# Check hardcoding attributes. -AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_AC_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ - test -n "$_LT_AC_TAGVAR(runpath_var $1)" || \ - test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)"="Xyes" ; then - - # We can hardcode non-existant directories. - if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_AC_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_AC_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_AC_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH - - -# AC_LIBTOOL_SYS_LIB_STRIP -# ------------------------ -AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], -[striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) -fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -])# AC_LIBTOOL_SYS_LIB_STRIP - - -# AC_LIBTOOL_SYS_DYNAMIC_LINKER -# ----------------------------- -# PORTME Fill in your ld.so characteristics -AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], -[AC_MSG_CHECKING([dynamic linker characteristics]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib<name>.so - # instead of lib<name>.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi4*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext='$(test .$module = .yes && echo .so || echo .dylib)' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -kfreebsd*-gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - *) # from 3.2 on - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case "$host_cpu" in - ia64*) - shrext='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - libsuff= - if test "x$LINUX_64_MODE" = x64; then - # Some platforms are per default 64-bit, so there's no /lib64 - if test -d /lib64; then - libsuff=64 - fi - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -sco3.2v5*) - version_type=osf - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no -])# AC_LIBTOOL_SYS_DYNAMIC_LINKER - - -# _LT_AC_TAGCONFIG -# ---------------- -AC_DEFUN([_LT_AC_TAGCONFIG], -[AC_ARG_WITH([tags], - [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], - [include additional configurations @<:@automatic@:>@])], - [tagnames="$withval"]) - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - AC_MSG_WARN([output file `$ofile' does not exist]) - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) - else - AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) - fi - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in - "") ;; - *) AC_MSG_ERROR([invalid tag name: $tagname]) - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - AC_MSG_ERROR([tag name \"$tagname\" already exists]) - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && test "X$CXX" != "Xno"; then - AC_LIBTOOL_LANG_CXX_CONFIG - else - tagname="" - fi - ;; - - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then - AC_LIBTOOL_LANG_F77_CONFIG - else - tagname="" - fi - ;; - - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then - AC_LIBTOOL_LANG_GCJ_CONFIG - else - tagname="" - fi - ;; - - RC) - AC_LIBTOOL_LANG_RC_CONFIG - ;; - - *) - AC_MSG_ERROR([Unsupported tag name: $tagname]) - ;; - esac - - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" - else - rm -f "${ofile}T" - AC_MSG_ERROR([unable to update list of available tagged configurations.]) - fi -fi -])# _LT_AC_TAGCONFIG - - -# AC_LIBTOOL_DLOPEN -# ----------------- -# enable checks for dlopen support -AC_DEFUN([AC_LIBTOOL_DLOPEN], - [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_DLOPEN - - -# AC_LIBTOOL_WIN32_DLL -# -------------------- -# declare package support for building win32 dll's -AC_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_WIN32_DLL - - -# AC_ENABLE_SHARED([DEFAULT]) -# --------------------------- -# implement the --enable-shared flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_SHARED], -[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([shared], - [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]AC_ENABLE_SHARED_DEFAULT) -])# AC_ENABLE_SHARED - - -# AC_DISABLE_SHARED -# ----------------- -#- set the default shared flag to --disable-shared -AC_DEFUN([AC_DISABLE_SHARED], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_SHARED(no) -])# AC_DISABLE_SHARED - - -# AC_ENABLE_STATIC([DEFAULT]) -# --------------------------- -# implement the --enable-static flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_STATIC], -[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([static], - [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]AC_ENABLE_STATIC_DEFAULT) -])# AC_ENABLE_STATIC - - -# AC_DISABLE_STATIC -# ----------------- -# set the default static flag to --disable-static -AC_DEFUN([AC_DISABLE_STATIC], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_STATIC(no) -])# AC_DISABLE_STATIC - - -# AC_ENABLE_FAST_INSTALL([DEFAULT]) -# --------------------------------- -# implement the --enable-fast-install flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_FAST_INSTALL], -[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([fast-install], - [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) -])# AC_ENABLE_FAST_INSTALL - - -# AC_DISABLE_FAST_INSTALL -# ----------------------- -# set the default to --disable-fast-install -AC_DEFUN([AC_DISABLE_FAST_INSTALL], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_FAST_INSTALL(no) -])# AC_DISABLE_FAST_INSTALL - - -# AC_LIBTOOL_PICMODE([MODE]) -# -------------------------- -# implement the --with-pic flag -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -AC_DEFUN([AC_LIBTOOL_PICMODE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -pic_mode=ifelse($#,1,$1,default) -])# AC_LIBTOOL_PICMODE - - -# AC_PROG_EGREP -# ------------- -# This is predefined starting with Autoconf 2.54, so this conditional -# definition can be removed once we require Autoconf 2.54 or later. -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], -[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], - [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' - fi]) - EGREP=$ac_cv_prog_egrep - AC_SUBST([EGREP]) -])]) - - -# AC_PATH_TOOL_PREFIX -# ------------------- -# find a file program which can recognise shared library -AC_DEFUN([AC_PATH_TOOL_PREFIX], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="ifelse([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -])# AC_PATH_TOOL_PREFIX - - -# AC_PATH_MAGIC -# ------------- -# find a file program which can recognise a shared library -AC_DEFUN([AC_PATH_MAGIC], -[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# AC_PATH_MAGIC - - -# AC_PROG_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([AC_PROG_LD], -[AC_ARG_WITH([gnu-ld], - [AC_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no]) -AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break - ;; - *) - test "$with_gnu_ld" != yes && break - ;; - esac - fi - done - IFS="$lt_save_ifs" -else - lt_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$lt_cv_path_LD" -if test -n "$LD"; then - AC_MSG_RESULT($LD) -else - AC_MSG_RESULT(no) -fi -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) -AC_PROG_LD_GNU -])# AC_PROG_LD - - -# AC_PROG_LD_GNU -# -------------- -AC_DEFUN([AC_PROG_LD_GNU], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, -[# I'd rather use --version here, but apparently some GNU ld's only accept -v. -case `$LD -v 2>&1 </dev/null` in -*GNU* | *'with BFD'*) - lt_cv_prog_gnu_ld=yes - ;; -*) - lt_cv_prog_gnu_ld=no - ;; -esac]) -with_gnu_ld=$lt_cv_prog_gnu_ld -])# AC_PROG_LD_GNU - - -# AC_PROG_LD_RELOAD_FLAG -# ---------------------- -# find reload flag for linker -# -- PORTME Some linkers may need a different reload flag. -AC_DEFUN([AC_PROG_LD_RELOAD_FLAG], -[AC_CACHE_CHECK([for $LD option to reload object files], - lt_cv_ld_reload_flag, - [lt_cv_ld_reload_flag='-r']) -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -])# AC_PROG_LD_RELOAD_FLAG - - -# AC_DEPLIBS_CHECK_METHOD -# ----------------------- -# how to check for library dependencies -# -- PORTME fill in with the dynamic library characteristics -AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], -[AC_CACHE_CHECK([how to recognise dependent libraries], -lt_cv_deplibs_check_method, -[lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix4* | aix5*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi4*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - lt_cv_deplibs_check_method=pass_all - ;; - -mingw* | pw32*) - # win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='win32_libid' - ;; - -darwin* | rhapsody*) - # this will be overwritten by pass_all, but leave it in just in case - lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' - lt_cv_file_magic_cmd='/usr/bin/file -L' - case "$host_os" in - rhapsody* | darwin1.[[012]]) - lt_cv_file_magic_test_file=`/System/Library/Frameworks/System.framework/System` - ;; - *) # Darwin 1.3 on - lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' - ;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | kfreebsd*-gnu) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case "$host_cpu" in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - irix5* | nonstopux*) - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" - ;; - *) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1" - ;; - esac - lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux*) - case $host_cpu in - alpha* | hppa* | i*86 | ia64* | m68* | mips* | powerpc* | sparc* | s390* | sh* | x86_64* ) - lt_cv_deplibs_check_method=pass_all ;; - # the debian people say, arm and glibc 2.3.1 works for them with pass_all - arm* ) - lt_cv_deplibs_check_method=pass_all ;; - *) - # glibc up to 2.1.1 does not perform some relocations on ARM - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; - esac - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -nto-qnx*) - lt_cv_deplibs_check_method=unknown - ;; - -openbsd*) - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' - else - lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' - fi - ;; - -osf3* | osf4* | osf5*) - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' - lt_cv_file_magic_test_file=/shlib/libc.so - lt_cv_deplibs_check_method=pass_all - ;; - -sco3.2v5*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - lt_cv_file_magic_test_file=/lib/libc.so - ;; - -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown -])# AC_DEPLIBS_CHECK_METHOD - - -# AC_PROG_NM -# ---------- -# find the pathname to a BSD-compatible name lister -AC_DEFUN([AC_PROG_NM], -[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/${ac_tool_prefix}nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - esac - fi - done - IFS="$lt_save_ifs" - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi]) -NM="$lt_cv_path_NM" -])# AC_PROG_NM - - -# AC_CHECK_LIBM -# ------------- -# check for math library -AC_DEFUN([AC_CHECK_LIBM], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -])# AC_CHECK_LIBM - - -# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl convenience library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL -# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If -# DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will -# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with -# '${top_srcdir}/' (note the single quotes!). If your package is not -# flat and you're not using automake, define top_builddir and -# top_srcdir appropriately in the Makefiles. -AC_DEFUN([AC_LIBLTDL_CONVENIENCE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case $enable_ltdl_convenience in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; - esac - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_CONVENIENCE - - -# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl installable library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-install to the configure arguments. Note that LIBLTDL -# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If -# DIRECTORY is not provided and an installed libltdl is not found, it is -# assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/' -# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single -# quotes!). If your package is not flat and you're not using automake, -# define top_builddir and top_srcdir appropriately in the Makefiles. -# In the future, this macro may have to be called after AC_PROG_LIBTOOL. -AC_DEFUN([AC_LIBLTDL_INSTALLABLE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, lt_dlinit, - [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], - [if test x"$enable_ltdl_install" = xno; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - else - enable_ltdl_install=yes - fi - ]) - if test x"$enable_ltdl_install" = x"yes"; then - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - else - ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" - LTDLINCL= - fi - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_INSTALLABLE - - -# AC_LIBTOOL_CXX -# -------------- -# enable support for C++ libraries -AC_DEFUN([AC_LIBTOOL_CXX], -[AC_REQUIRE([_LT_AC_LANG_CXX]) -])# AC_LIBTOOL_CXX - - -# _LT_AC_LANG_CXX -# --------------- -AC_DEFUN([_LT_AC_LANG_CXX], -[AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([AC_PROG_CXXCPP]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) -])# _LT_AC_LANG_CXX - - -# AC_LIBTOOL_F77 -# -------------- -# enable support for Fortran 77 libraries -AC_DEFUN([AC_LIBTOOL_F77], -[AC_REQUIRE([_LT_AC_LANG_F77]) -])# AC_LIBTOOL_F77 - - -# _LT_AC_LANG_F77 -# --------------- -AC_DEFUN([_LT_AC_LANG_F77], -[AC_REQUIRE([AC_PROG_F77]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) -])# _LT_AC_LANG_F77 - - -# AC_LIBTOOL_GCJ -# -------------- -# enable support for GCJ libraries -AC_DEFUN([AC_LIBTOOL_GCJ], -[AC_REQUIRE([_LT_AC_LANG_GCJ]) -])# AC_LIBTOOL_GCJ - - -# _LT_AC_LANG_GCJ -# --------------- -AC_DEFUN([_LT_AC_LANG_GCJ], -[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], - [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], - [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], - [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) -])# _LT_AC_LANG_GCJ - - -# AC_LIBTOOL_RC -# -------------- -# enable support for Windows resource files -AC_DEFUN([AC_LIBTOOL_RC], -[AC_REQUIRE([LT_AC_PROG_RC]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) -])# AC_LIBTOOL_RC - - -# AC_LIBTOOL_LANG_C_CONFIG -# ------------------------ -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) -AC_DEFUN([_LT_AC_LANG_C_CONFIG], -[lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}\n' - -_LT_AC_SYS_COMPILER - -# -# Check for any special shared library compilation flags. -# -_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)= -if test "$GCC" = no; then - case $host_os in - sco3.2v5*) - _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf' - ;; - esac -fi -if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then - AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries]) - if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[ ]]" >/dev/null; then : - else - AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure]) - _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no - fi -fi - - -# -# Check to make sure the static flag actually works. -# -AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works], - _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), - $_LT_AC_TAGVAR(lt_prog_compiler_static, $1), - [], - [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) - - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF($1) - -# Report which librarie types wil actually be built -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case "$host_os" in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - darwin* | rhapsody*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - case "$host_os" in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,dynamic_lookup' - ;; - esac - fi - ;; - esac - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; -esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_C_CONFIG - - -# AC_LIBTOOL_LANG_CXX_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) -AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], -[AC_LANG_PUSH(C++) -AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([AC_PROG_CXXCPP]) - -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(allow_undefined_flag, $1)= -_LT_AC_TAGVAR(always_export_symbols, $1)=no -_LT_AC_TAGVAR(archive_expsym_cmds, $1)= -_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_direct, $1)=no -_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= -_LT_AC_TAGVAR(hardcode_minus_L, $1)=no -_LT_AC_TAGVAR(hardcode_automatic, $1)=no -_LT_AC_TAGVAR(module_cmds, $1)= -_LT_AC_TAGVAR(module_expsym_cmds, $1)= -_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_AC_TAGVAR(no_undefined_flag, $1)= -_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= -_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Dependencies to place before and after the object being linked: -_LT_AC_TAGVAR(predep_objects, $1)= -_LT_AC_TAGVAR(postdep_objects, $1)= -_LT_AC_TAGVAR(predeps, $1)= -_LT_AC_TAGVAR(postdeps, $1)= -_LT_AC_TAGVAR(compiler_lib_search_path, $1)= - -# Source file extension for C++ test sources. -ac_ext=cc - -# Object file extension for compiled C++ test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_LD=$LD -lt_save_GCC=$GCC -GCC=$GXX -lt_save_with_gnu_ld=$with_gnu_ld -lt_save_path_LD=$lt_cv_path_LD -if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx -else - unset lt_cv_prog_gnu_ld -fi -if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX -else - unset lt_cv_path_LD -fi -test -z "${LDCXX+set}" || LD=$LDCXX -CC=${CXX-"c++"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` - -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' -else - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= -fi - -if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - AC_PROG_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ - grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - -else - GXX=no - with_gnu_ld=no - wlarc= -fi - -# PORTME: fill in a description of your system's C++ link characteristics -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -_LT_AC_TAGVAR(ld_shlibs, $1)=yes -case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # KDE requires run time linking. Make it the default. - aix_use_runtimelinking=yes - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='-qmkshrobj ${wl}-G' - else - shared_flag='-qmkshrobj' - fi - fi - fi - - # Let the compiler handle the export list. - _LT_AC_TAGVAR(always_export_symbols, $1)=no - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # -bexpall does not export symbols beginning with underscore (_) - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds it's shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=no - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - darwin* | rhapsody*) - if test "$GXX" = yes; then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - case "$host_os" in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,dynamic_lookup' - ;; - esac - fi - ;; - esac - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring' - fi - _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs' - - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - dgux*) - case $cc_basename in - ec++) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - freebsd[12]*) - # C++ shared libraries reported to be fairly broken before switch to ELF - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - freebsd-elf*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - freebsd* | kfreebsd*-gnu) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - ;; - gnu*) - ;; - hpux9*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - case "$host_cpu" in - hppa*64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - ;; - *) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case "$host_cpu" in - hppa*64*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - ia64*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC) - case "$host_cpu" in - hppa*64*|ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case "$host_cpu" in - ia64*|hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - irix5* | irix6*) - case $cc_basename in - CC) - # SGI C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - fi - fi - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - linux*) - case $cc_basename in - KCC) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib; mv \$templib $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc) - # Intel C++ - with_gnu_ld=yes - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - cxx) - # Compaq C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - m88k*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - mvs*) - case $cc_basename in - cxx) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - osf3*) - case $cc_basename in - KCC) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - osf4* | osf5*) - case $cc_basename in - KCC) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' - ;; - RCC) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~ - $rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - sco*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - case $cc_basename in - CC) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - lcc) - # Lucid - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - solaris*) - case $cc_basename in - CC) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The C++ compiler is used as linker so we must use $wl - # flag to pass the commands to the underlying system - # linker. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - fi - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - fi - ;; - esac - ;; - sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - tandem*) - case $cc_basename in - NCC) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; -esac -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_AC_TAGVAR(GCC, $1)="$GXX" -_LT_AC_TAGVAR(LD, $1)="$LD" - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -AC_LIBTOOL_POSTDEP_PREDEP($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -with_gnu_ld=$lt_save_with_gnu_ld -lt_cv_path_LDCXX=$lt_cv_path_LD -lt_cv_path_LD=$lt_save_path_LD -lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld -lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -])# AC_LIBTOOL_LANG_CXX_CONFIG - -# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) -# ------------------------ -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -ifelse([$1],[],[cat > conftest.$ac_ext <<EOF -int a; -void foo (void) { a = 0; } -EOF -],[$1],[CXX],[cat > conftest.$ac_ext <<EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -EOF -],[$1],[F77],[cat > conftest.$ac_ext <<EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -EOF -],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -EOF -]) -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - # The `*' in the case matches for architectures that use `case' in - # $output_verbose_cmd can trigger glob expansion during the loop - # eval without this substitution. - output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`" - - for p in `eval $output_verbose_link_cmd`; do - case $p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" \ - || test $p = "-R"; then - prev=$p - continue - else - prev= - fi - - if test "$pre_test_object_deps_done" = no; then - case $p in - -L* | -R*) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" - else - _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then - _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}" - else - _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}" - fi - fi - ;; - - *.$objext|*.$libext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then - _LT_AC_TAGVAR(predep_objects, $1)="$p" - else - _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then - _LT_AC_TAGVAR(postdep_objects, $1)="$p" - else - _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$rm -f confest.$objext - -case " $_LT_AC_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac -])# AC_LIBTOOL_POSTDEP_PREDEP - -# AC_LIBTOOL_LANG_F77_CONFIG -# ------------------------ -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)]) -AC_DEFUN([_LT_AC_LANG_F77_CONFIG], -[AC_REQUIRE([AC_PROG_F77]) -AC_LANG_PUSH(Fortran 77) - -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(allow_undefined_flag, $1)= -_LT_AC_TAGVAR(always_export_symbols, $1)=no -_LT_AC_TAGVAR(archive_expsym_cmds, $1)= -_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_direct, $1)=no -_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= -_LT_AC_TAGVAR(hardcode_minus_L, $1)=no -_LT_AC_TAGVAR(hardcode_automatic, $1)=no -_LT_AC_TAGVAR(module_cmds, $1)= -_LT_AC_TAGVAR(module_expsym_cmds, $1)= -_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_AC_TAGVAR(no_undefined_flag, $1)= -_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= -_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code=" subroutine t\n return\n end\n" - -# Code to be used in simple link tests -lt_simple_link_test_code=" program t\n end\n" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${F77-"f77"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` - -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case "$host_os" in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; -aix4*) - test "$enable_shared" = yes && enable_static=no - ;; -esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) - -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_AC_TAGVAR(GCC, $1)="$G77" -_LT_AC_TAGVAR(LD, $1)="$LD" - -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP - - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_F77_CONFIG - - -# AC_LIBTOOL_LANG_GCJ_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) -AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], -[AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${GCJ-"gcj"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_RESTORE -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_GCJ_CONFIG - - -# AC_LIBTOOL_LANG_RC_CONFIG -# -------------------------- -# Ensure that the configuration vars for the Windows resource compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) -AC_DEFUN([_LT_AC_LANG_RC_CONFIG], -[AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${RC-"windres"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_RESTORE -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_RC_CONFIG - - -# AC_LIBTOOL_CONFIG([TAGNAME]) -# ---------------------------- -# If TAGNAME is not passed, then create an initial libtool script -# with a default configuration from the untagged config vars. Otherwise -# add code to config.status for appending the configuration named by -# TAGNAME from the matching tagged config vars. -AC_DEFUN([AC_LIBTOOL_CONFIG], -[# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - _LT_AC_TAGVAR(compiler, $1) \ - _LT_AC_TAGVAR(CC, $1) \ - _LT_AC_TAGVAR(LD, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ - _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ - _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ - _LT_AC_TAGVAR(old_archive_cmds, $1) \ - _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ - _LT_AC_TAGVAR(predep_objects, $1) \ - _LT_AC_TAGVAR(postdep_objects, $1) \ - _LT_AC_TAGVAR(predeps, $1) \ - _LT_AC_TAGVAR(postdeps, $1) \ - _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ - _LT_AC_TAGVAR(archive_cmds, $1) \ - _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ - _LT_AC_TAGVAR(postinstall_cmds, $1) \ - _LT_AC_TAGVAR(postuninstall_cmds, $1) \ - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ - _LT_AC_TAGVAR(allow_undefined_flag, $1) \ - _LT_AC_TAGVAR(no_undefined_flag, $1) \ - _LT_AC_TAGVAR(export_symbols_cmds, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ - _LT_AC_TAGVAR(hardcode_automatic, $1) \ - _LT_AC_TAGVAR(module_cmds, $1) \ - _LT_AC_TAGVAR(module_expsym_cmds, $1) \ - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ - _LT_AC_TAGVAR(exclude_expsyms, $1) \ - _LT_AC_TAGVAR(include_expsyms, $1); do - - case $var in - _LT_AC_TAGVAR(old_archive_cmds, $1) | \ - _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ - _LT_AC_TAGVAR(archive_cmds, $1) | \ - _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ - _LT_AC_TAGVAR(module_cmds, $1) | \ - _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ - _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\[$]0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` - ;; - esac - -ifelse([$1], [], - [cfgfile="${ofile}T" - trap "$rm \"$cfgfile\"; exit 1" 1 2 15 - $rm -f "$cfgfile" - AC_MSG_NOTICE([creating $ofile])], - [cfgfile="$ofile"]) - - cat <<__EOF__ >> "$cfgfile" -ifelse([$1], [], -[#! $SHELL - -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi - -# The names of the tagged configurations supported by this script. -available_tags= - -# ### BEGIN LIBTOOL CONFIG], -[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# A language-specific compiler. -CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) - -# Is the compiler the GNU C compiler? -with_gcc=$_LT_AC_TAGVAR(GCC, $1) - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_[]_LT_AC_TAGVAR(LD, $1) - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext='$shrext' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) - -# Must we lock files when doing compilation ? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) - -# Commands used to build and install a shared archive. -archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) -archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) -module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" - -# Set to yes if exported symbols are required. -always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) - -# The commands to list exported symbols. -export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) - -# Symbols that must always be exported. -include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) - -ifelse([$1],[], -[# ### END LIBTOOL CONFIG], -[# ### END LIBTOOL TAG CONFIG: $tagname]) - -__EOF__ - -ifelse([$1],[], [ - case $host_os in - aix3*) - cat <<\EOF >> "$cfgfile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || \ - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -]) -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - test -f Makefile && make "$ltmain" -fi -])# AC_LIBTOOL_CONFIG - - -# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl - -_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - - AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI - - -# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -# --------------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], -[AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([AC_PROG_NM]) -AC_REQUIRE([AC_OBJEXT]) -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Transform the above into a raw symbol and a C symbol. -symxfrm='\1 \2\3 \3' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) # Its linker distinguishes data from code symbols - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris* | sysv5*) - symcode='[[BDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGISTW]]' ;; -esac - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if grep ' nm_test_var$' "$nlist" >/dev/null; then - if grep ' nm_test_func$' "$nlist" >/dev/null; then - cat <<EOF > conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' - - cat <<EOF >> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[[]] = -{ -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi -]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE - - -# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) -# --------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], -[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= - -AC_MSG_CHECKING([for $compiler option to produce PIC]) - ifelse([$1],[CXX],[ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case "$host_cpu" in - hppa*64*|ia64*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix4* | aix5*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68) - # Green Hills C++ Compiler - # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | kfreebsd*-gnu) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" - case "$host_cpu" in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux*) - case $cc_basename in - KCC) - # KAI C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - icpc) - # Intel C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - cxx) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC) - # Rational C++ 2.4.1 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx) - # Digital/Compaq C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - sco*) - case $cc_basename in - CC) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - *) - ;; - esac - ;; - solaris*) - case $cc_basename in - CC) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC) - # Sun C++ 4.x - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc) - # Lucid - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC) - # NonStop-UX NCC 3.20 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - unixware*) - ;; - vxworks*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case "$host_cpu" in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case "$host_cpu" in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - newsos6) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - linux*) - case $CC in - icc* | ecc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - ccc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - esac - ;; - - osf3* | osf4* | osf5*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - sco3.2v5*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn' - ;; - - solaris*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sunos4*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - uts4*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then - AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], - _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), - [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -case "$host_os" in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" - ;; -esac -]) - - -# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) -# ------------------------------------ -# See if the linker supports building shared libraries. -AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], -[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -ifelse([$1],[CXX],[ - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' - ;; - *) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -],[ - runpath_var= - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)= - _LT_AC_TAGVAR(archive_expsym_cmds, $1)= - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_minus_L, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown - _LT_AC_TAGVAR(hardcode_automatic, $1)=no - _LT_AC_TAGVAR(module_cmds, $1)= - _LT_AC_TAGVAR(module_expsym_cmds, $1)= - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_AC_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <<EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - - # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=no - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris* | sysv5*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <<EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sunos4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$link_static_flag"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - - # KDE requires run time linking. Make it the default. - aix_use_runtimelinking=yes - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='-qmkshrobj ${wl}-G' - else - shared_flag='-qmkshrobj' - fi - fi - fi - - # Let the compiler handle the export list. - _LT_AC_TAGVAR(always_export_symbols, $1)=no - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # -bexpall does not export symbols beginning with underscore (_) - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds it's shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - # see comment about different semantics on the GNU ld section - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - bsdi4*) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=no - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $compiler_flags $libobjs `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - darwin* | rhapsody*) - if test "$GXX" = yes ; then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - case "$host_os" in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,dynamic_lookup' - ;; - esac - fi - ;; - esac - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring' - fi - _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - dgux*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - freebsd1*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $compiler_flags $libobjs $deplibs' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $compiler_flags $libobjs $deplibs~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10* | hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case "$host_cpu" in - hppa*64*|ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $libobjs $deplibs' - ;; - esac - else - case "$host_cpu" in - hppa*64*|ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - case "$host_cpu" in - hppa*64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - ;; - *) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - openbsd*) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $compiler_flags $libobjs $deplibs' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $compiler_flags $libobjs $deplibs' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $compiler_flags $libobjs $deplibs$output_objdir/$libname.def' - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $compiler_flags $libobjs $deplibs ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $compiler_flags $libobjs $deplibs ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - sco3.2v5*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ;; - - solaris*) - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs~$rm $lib.exp' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $compiler_flags $libobjs $deplibs' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4.2uw2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - hardcode_runpath_var=yes - runpath_var=LD_RUN_PATH - ;; - - sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text' - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs' - fi - runpath_var='LD_RUN_PATH' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv5*) - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - ;; - - uts4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -# -# Do we need to explicitly link libc? -# -case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_AC_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) - then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - else - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) - ;; - esac - fi - ;; -esac -])# AC_LIBTOOL_PROG_LD_SHLIBS - - -# _LT_AC_FILE_LTDLL_C -# ------------------- -# Be careful that the start marker always follows a newline. -AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ -# /* ltdll.c starts here */ -# #define WIN32_LEAN_AND_MEAN -# #include <windows.h> -# #undef WIN32_LEAN_AND_MEAN -# #include <stdio.h> -# -# #ifndef __CYGWIN__ -# # ifdef __CYGWIN32__ -# # define __CYGWIN__ __CYGWIN32__ -# # endif -# #endif -# -# #ifdef __cplusplus -# extern "C" { -# #endif -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); -# #ifdef __cplusplus -# } -# #endif -# -# #ifdef __CYGWIN__ -# #include <cygwin/cygwin_dll.h> -# DECLARE_CYGWIN_DLL( DllMain ); -# #endif -# HINSTANCE __hDllInstance_base; -# -# BOOL APIENTRY -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -# { -# __hDllInstance_base = hInst; -# return TRUE; -# } -# /* ltdll.c ends here */ -])# _LT_AC_FILE_LTDLL_C - - -# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) -# --------------------------------- -AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) - - -# old names -AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) -AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) -AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) -AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) -AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) - -# This is just to silence aclocal about the macro not being used -ifelse([AC_DISABLE_FAST_INSTALL]) - -AC_DEFUN([LT_AC_PROG_GCJ], -[AC_CHECK_TOOL(GCJ, gcj, no) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS) -]) - -AC_DEFUN([LT_AC_PROG_RC], -[AC_CHECK_TOOL(RC, windres, no) -]) - -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ -# LT_AC_PROG_SED -# -------------- -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -AC_DEFUN([LT_AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && break - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_MSG_RESULT([$SED]) -]) diff --git a/kde/admin/ltmain.sh b/kde/admin/ltmain.sh deleted file mode 100644 index 27ee8c4..0000000 --- a/kde/admin/ltmain.sh +++ /dev/null @@ -1,6389 +0,0 @@ -# ltmain.sh - Provide generalized library-building support services. -# NOTE: Changing this file will not affect anything until you rerun configure. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003 -# Free Software Foundation, Inc. -# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Check that we have a working $echo. -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then - # Yippee, $echo works! - : -else - # Restart under the correct shell, and then maybe $echo will work. - exec $SHELL "$0" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<EOF -$* -EOF - exit 0 -fi - -# The name of this program. -progname=`$echo "$0" | ${SED} 's%^.*/%%'` -modename="$progname" - -# Constants. -PROGRAM=ltmain.sh -PACKAGE=libtool -VERSION=1.5a -TIMESTAMP=" (1.1240 2003/06/26 06:55:19)" - -default_mode= -help="Try \`$progname --help' for more information." -magic="%%%MAGIC variable%%%" -mkdir="mkdir" -mv="mv -f" -rm="rm -f" - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed="${SED}"' -e 1s/^X//' -sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' -# test EBCDIC or ASCII -case `echo A|tr A '\301'` in - A) # EBCDIC based system - SP2NL="tr '\100' '\n'" - NL2SP="tr '\r\n' '\100\100'" - ;; - *) # Assume ASCII based system - SP2NL="tr '\040' '\012'" - NL2SP="tr '\015\012' '\040\040'" - ;; -esac - -# NLS nuisances. -# Only set LANG and LC_ALL to C if already set. -# These must not be set unconditionally because not all systems understand -# e.g. LANG=C (notably SCO). -# We save the old values to restore during execute mode. -if test "${LC_ALL+set}" = set; then - save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL -fi -if test "${LANG+set}" = set; then - save_LANG="$LANG"; LANG=C; export LANG -fi - -# Make sure IFS has a sensible default -: ${IFS=" "} - -if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - $echo "$modename: not configured to build any kind of library" 1>&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit 1 -fi - -# Global variables. -mode=$default_mode -nonopt= -prev= -prevopt= -run= -show="$echo" -show_help= -execute_dlfiles= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" - -##################################### -# Shell function definitions: -# This seems to be the best place for them - -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -win32_libid () { - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ - grep -E 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then - win32_nmres=`eval $NM -f posix -A $1 | \ - sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'` - if test "X$win32_nmres" = "Ximport" ; then - win32_libid_type="x86 archive import" - else - win32_libid_type="x86 archive static" - fi - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $echo $win32_libid_type -} - -# End of Shell function definitions -##################################### - -# Parse our command line options once, thoroughly. -while test "$#" -gt 0 -do - arg="$1" - shift - - case $arg in - -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - execute_dlfiles) - execute_dlfiles="$execute_dlfiles $arg" - ;; - tag) - tagname="$arg" - - # Check whether tagname contains only valid characters - case $tagname in - *[!-_A-Za-z0-9,/]*) - $echo "$progname: invalid tag name: $tagname" 1>&2 - exit 1 - ;; - esac - - case $tagname in - CC) - # Don't test for the "default" C tag, as we know, it's there, but - # not specially marked. - ;; - *) - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$0" > /dev/null; then - taglist="$taglist $tagname" - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`" - else - $echo "$progname: ignoring unknown tag $tagname" 1>&2 - fi - ;; - esac - ;; - *) - eval "$prev=\$arg" - ;; - esac - - prev= - prevopt= - continue - fi - - # Have we seen a non-optional argument yet? - case $arg in - --help) - show_help=yes - ;; - - --version) - $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" - $echo - $echo "Copyright (C) 2003 Free Software Foundation, Inc." - $echo "This is free software; see the source for copying conditions. There is NO" - $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - exit 0 - ;; - - --config) - ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 - # Now print the configurations for the tags. - for tagname in $taglist; do - ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$0" - done - exit 0 - ;; - - --debug) - $echo "$progname: enabling shell trace mode" - set -x - ;; - - --dry-run | -n) - run=: - ;; - - --features) - $echo "host: $host" - if test "$build_libtool_libs" = yes; then - $echo "enable shared libraries" - else - $echo "disable shared libraries" - fi - if test "$build_old_libs" = yes; then - $echo "enable static libraries" - else - $echo "disable static libraries" - fi - exit 0 - ;; - - --finish) mode="finish" ;; - - --mode) prevopt="--mode" prev=mode ;; - --mode=*) mode="$optarg" ;; - - --preserve-dup-deps) duplicate_deps="yes" ;; - - --quiet | --silent) - show=: - ;; - - --tag) prevopt="--tag" prev=tag ;; - --tag=*) - set tag "$optarg" ${1+"$@"} - shift - prev=tag - ;; - - -dlopen) - prevopt="-dlopen" - prev=execute_dlfiles - ;; - - -*) - $echo "$modename: unrecognized option \`$arg'" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - - *) - nonopt="$arg" - break - ;; - esac -done - -if test -n "$prevopt"; then - $echo "$modename: option \`$prevopt' requires an argument" 1>&2 - $echo "$help" 1>&2 - exit 1 -fi - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - -if test -z "$show_help"; then - - # Infer the operation mode. - if test -z "$mode"; then - $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 - $echo "*** Future versions of Libtool will require -mode=MODE be specified." 1>&2 - case $nonopt in - *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) - mode=link - for arg - do - case $arg in - -c) - mode=compile - break - ;; - esac - done - ;; - *db | *dbx | *strace | *truss) - mode=execute - ;; - *install*|cp|mv) - mode=install - ;; - *rm) - mode=uninstall - ;; - *) - # If we have no mode, but dlfiles were specified, then do execute mode. - test -n "$execute_dlfiles" && mode=execute - - # Just use the default operation mode. - if test -z "$mode"; then - if test -n "$nonopt"; then - $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 - else - $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 - fi - fi - ;; - esac - fi - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$execute_dlfiles" && test "$mode" != execute; then - $echo "$modename: unrecognized option \`-dlopen'" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$modename --help --mode=$mode' for more information." - - # These modes are in order of execution frequency so that they run quickly. - case $mode in - # libtool compile mode - compile) - modename="$modename: compile" - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" - suppress_output= - arg_mode=normal - libobj= - - for arg - do - case "$arg_mode" in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" - arg_mode=normal - ;; - - target ) - libobj="$arg" - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - if test -n "$libobj" ; then - $echo "$modename: you cannot specify \`-o' more than once" 1>&2 - exit 1 - fi - arg_mode=target - continue - ;; - - -static) - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - lastarg="$lastarg $arg" - done - IFS="$save_ifs" - lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` - - # Add the arguments to base_compile. - base_compile="$base_compile $lastarg" - continue - ;; - - * ) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg="$srcfile" - srcfile="$arg" - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` - - case $lastarg in - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - lastarg="\"$lastarg\"" - ;; - esac - - base_compile="$base_compile $lastarg" - done # for arg - - case $arg_mode in - arg) - $echo "$modename: you must specify an argument for -Xcompile" - exit 1 - ;; - target) - $echo "$modename: you must specify a target with \`-o'" 1>&2 - exit 1 - ;; - *) - # Get the name of the library object. - [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - xform='[cCFSifmso]' - case $libobj in - *.ada) xform=ada ;; - *.adb) xform=adb ;; - *.ads) xform=ads ;; - *.asm) xform=asm ;; - *.c++) xform=c++ ;; - *.cc) xform=cc ;; - *.ii) xform=ii ;; - *.class) xform=class ;; - *.cpp) xform=cpp ;; - *.cxx) xform=cxx ;; - *.f90) xform=f90 ;; - *.for) xform=for ;; - *.java) xform=java ;; - esac - - libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` - - case $libobj in - *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; - *) - $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 - exit 1 - ;; - esac - - # Infer tagged configuration to use if any are available and - # if one wasn't chosen via the "--tag" command line option. - # Only attempt this if the compiler in the base compile - # command doesn't match the default compiler. - if test -n "$available_tags" && test -z "$tagname"; then - case $base_compile in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" - case "$base_compile " in - "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" - $echo "$modename: specify a tag with \`--tag'" 1>&2 - exit 1 -# else -# $echo "$modename: using $tagname tagged configuration" - fi - ;; - esac - fi - - objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$obj"; then - xdir= - else - xdir=$xdir/ - fi - lobj=${xdir}$objdir/$objname - - if test -z "$base_compile"; then - $echo "$modename: you must specify a compilation command" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - $run $rm $removelist - trap "$run $rm $removelist; exit 1" 1 2 15 - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - removelist="$removelist $output_obj $lockfile" - trap "$run $rm $removelist; exit 1" 1 2 15 - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $run ln "$0" "$lockfile" 2>/dev/null; do - $show "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $echo "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit 1 - fi - $echo $srcfile > "$lockfile" - fi - - if test -n "$fix_srcfile_path"; then - eval srcfile=\"$fix_srcfile_path\" - fi - - $run $rm "$libobj" "${libobj}T" - - # Create a libtool object file (analogous to a ".la" file), - # but don't create it if we're doing a dry run. - test -z "$run" && cat > ${libobj}T <<EOF -# $libobj - a libtool object file -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -EOF - - # Only build a PIC object if we are building libtool libraries. - if test "$build_libtool_libs" = yes; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test "$pic_mode" != no; then - command="$base_compile $srcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $srcfile" - fi - - if test ! -d "${xdir}$objdir"; then - $show "$mkdir ${xdir}$objdir" - $run $mkdir ${xdir}$objdir - status=$? - if test "$status" -ne 0 && test ! -d "${xdir}$objdir"; then - exit $status - fi - fi - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - command="$command -o $lobj" - fi - - $run $rm "$lobj" "$output_obj" - - $show "$command" - if $run eval "$command"; then : - else - test -n "$output_obj" && $run $rm $removelist - exit 1 - fi - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit 1 - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - $show "$mv $output_obj $lobj" - if $run $mv $output_obj $lobj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Append the name of the PIC object to the libtool object file. - test -z "$run" && cat >> ${libobj}T <<EOF -pic_object='$objdir/$objname' - -EOF - - # Allow error messages only from the first compilation. - suppress_output=' >/dev/null 2>&1' - else - # No PIC object so indicate it doesn't exist in the libtool - # object file. - test -z "$run" && cat >> ${libobj}T <<EOF -pic_object=none - -EOF - fi - - # Only build a position-dependent object if we build old libraries. - if test "$build_old_libs" = yes; then - if test "$pic_mode" != yes; then - # Don't build PIC code - command="$base_compile $srcfile" - else - command="$base_compile $srcfile $pic_flag" - fi - if test "$compiler_c_o" = yes; then - command="$command -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - command="$command$suppress_output" - $run $rm "$obj" "$output_obj" - $show "$command" - if $run eval "$command"; then : - else - $run $rm $removelist - exit 1 - fi - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit 1 - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - $show "$mv $output_obj $obj" - if $run $mv $output_obj $obj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Append the name of the non-PIC object the libtool object file. - # Only append if the libtool object file exists. - test -z "$run" && cat >> ${libobj}T <<EOF -# Name of the non-PIC object. -non_pic_object='$objname' - -EOF - else - # Append the name of the non-PIC object the libtool object file. - # Only append if the libtool object file exists. - test -z "$run" && cat >> ${libobj}T <<EOF -# Name of the non-PIC object. -non_pic_object=none - -EOF - fi - - $run $mv "${libobj}T" "${libobj}" - - # Unlock the critical section if it was locked - if test "$need_locks" != no; then - $run $rm "$lockfile" - fi - - exit 0 - ;; - - # libtool link mode - link | relink) - modename="$modename: link" - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # which system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll which has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args="$nonopt" - base_compile="$nonopt" - compile_command="$nonopt" - finalize_command="$nonopt" - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - add_flags= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - - avoid_version=no - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - non_pic_objects= - prefer_static_libs=no - preload=no - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -all-static | -static) - if test "X$arg" = "X-all-static"; then - if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then - $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - else - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - fi - build_libtool_libs=no - build_old_libs=yes - prefer_static_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - base_compile="$base_compile $arg" - shift - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test - ;; - *) qarg=$arg ;; - esac - libtool_args="$libtool_args $qarg" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - compile_command="$compile_command @OUTPUT@" - finalize_command="$finalize_command @OUTPUT@" - ;; - esac - - case $prev in - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - compile_command="$compile_command @SYMFILE@" - finalize_command="$finalize_command @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - else - dlprefiles="$dlprefiles $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - if test ! -f "$arg"; then - $echo "$modename: symbol file \`$arg' does not exist" - exit 1 - fi - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat $save_arg` - do -# moreargs="$moreargs $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= - - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit 1 - fi - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit 1 - else - # Dry-run case. - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - done - else - $echo "$modename: link input file \`$save_arg' does not exist" - exit 1 - fi - arg=$save_arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit 1 - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath="$rpath $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath="$xrpath $arg" ;; - esac - fi - prev= - continue - ;; - xcompiler) - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - xlinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $wl$qarg" - prev= - compile_command="$compile_command $wl$qarg" - finalize_command="$finalize_command $wl$qarg" - continue - ;; - xcclinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) deplibs="$deplibs $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" - finalize_command="$finalize_command $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 - continue - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: more than one -exported-symbols argument is not allowed" - exit 1 - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - ;; - esac - continue - ;; - - -L*) - dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 - exit 1 - fi - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "*) ;; - *) - deplibs="$deplibs -L$dir" - lib_search_path="$lib_search_path $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - case :$dllsearchpath: in - *":$dir:"*) ;; - *) dllsearchpath="$dllsearchpath:$dir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-pw32* | *-*-beos*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-mingw* | *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - deplibs="$deplibs System.ltframework" - continue - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - deplibs="$deplibs $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - # gcc -m* arguments should be passed to the linker via $compiler_flags - # in order to pass architecture information to the linker - # (e.g. 32 vs 64-bit). This may also be accomplished via -Wl,-mfoo - # but this is not reliable with gcc because gcc may use -mfoo to - # select a different linker, different libraries, etc, while - # -Wl,-mfoo simply passes -mfoo to the linker. - -m*) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - if test "$with_gcc" = "yes" ; then - compiler_flags="$compiler_flags $arg" - fi - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - # The PATH hackery in wrapper scripts is required on Windows - # in order for the loader to find any dlls it needs. - $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 - $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -o) prev=output ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit 1 - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - continue - ;; - - -static) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Wl,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $wl$flag" - linker_flags="$linker_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - -framework) - prev=framework - continue - ;; - - # Some other compiler flag. - -* | +*) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - add_flags="$add_flags $arg" - ;; - - *.$objext) - # A standard object. - objs="$objs $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= - - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit 1 - fi - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit 1 - else - # Dry-run case. - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - ;; - - *.$libext) - # An archive. - deplibs="$deplibs $arg" - old_deplibs="$old_deplibs $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - dlfiles="$dlfiles $arg" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - dlprefiles="$dlprefiles $arg" - prev= - else - deplibs="$deplibs $arg" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - add_flags="$add_flags $arg" - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - done # argument parsing loop - - if test -n "$prev"; then - $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - # Infer tagged configuration to use if any are available and - # if one wasn't chosen via the "--tag" command line option. - # Only attempt this if the compiler in the base link - # command doesn't match the default compiler. - if test -n "$available_tags" && test -z "$tagname"; then - case $base_compile in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" - case $base_compile in - "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) - # The compiler in $compile_command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" - $echo "$modename: specify a tag with \`--tag'" 1>&2 - exit 1 -# else -# $echo "$modename: using $tagname tagged configuration" - fi - ;; - esac - fi - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` - if test "X$output_objdir" = "X$output"; then - output_objdir="$objdir" - else - output_objdir="$output_objdir/$objdir" - fi - # Create the object directory. - if test ! -d "$output_objdir"; then - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir - status=$? - if test "$status" -ne 0 && test ! -d "$output_objdir"; then - exit $status - fi - fi - - # Determine the type of output - case $output in - "") - $echo "$modename: you must specify an output file" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - case $host in - *cygwin* | *mingw* | *pw32*) - # don't eliminate duplcations in $postdeps and $predeps - duplicate_compiler_generated_deps=yes - ;; - *) - duplicate_compiler_generated_deps=$duplicate_deps - ;; - esac - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if test "X$duplicate_deps" = "Xyes" ; then - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - libs="$libs $deplib" - done - - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; - esac - pre_post_deps="$pre_post_deps $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - case $linkmode in - lib) - passes="conv link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 - exit 1 - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - for pass in $passes; do - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - for deplib in $libs; do - lib= - found=no - case $deplib in - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 - continue - fi - if test "$pass" = conv && test "$allow_undefined" = yes; then - deplibs="$deplib $deplibs" - continue - fi - name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` - for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do - for search_ext in .la $shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if (${SED} -e '2q' $lib | - grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - library_names= - old_library= - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - *.ltframework) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test "$linkmode" = lib ; then - newdependency_libs="$deplib $newdependency_libs" - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - ;; - *) - $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) lib="$deplib" ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - if test "$deplibs_check_method" != pass_all; then - $echo - $echo "*** Warning: Trying to link with static lib archive $deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because the file extensions .$libext of this argument makes me believe" - $echo "*** that it is just a static archive that I should not used here." - else - $echo - $echo "*** Warning: Linking the shared library $output against the" - $echo "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - if test "$found" = yes || test -f "$lib"; then : - else - $echo "$modename: cannot find the library \`$lib'" 1>&2 - exit 1 - fi - - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit 1 - fi - - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - - # Read the .la file - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - - case $host in - *-*-darwin*) - # Convert "-framework foo" to "foo.ltframework" in dependency_libs - test -n "$dependency_libs" && dependency_libs=`$echo "X$dependency_libs" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'` - ;; - esac - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" - fi - - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - tmp_libs= - for deplib in $dependency_libs; do - #echo "Adding $deplib to \$deplibs" - deplibs="$deplib $deplibs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - if test -z "$libdir"; then - if test -z "$old_library"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit 1 - fi - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - elif test "$linkmode" != prog && test "$linkmode" != lib; then - $echo "$modename: \`$lib' is not a convenience library" 1>&2 - exit 1 - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done - if test -z "$linklib"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit 1 - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 - exit 1 - fi - if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - dlprefiles="$dlprefiles $lib $dependency_libs" - else - newdlfiles="$newdlfiles $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 - $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 - abs_ladir="$ladir" - fi - ;; - esac - laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - $echo "$modename: warning: library \`$lib' was moved." 1>&2 - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$libdir" - absdir="$libdir" - fi - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - fi # $installed = yes - name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 - exit 1 - fi - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - newdlprefiles="$newdlprefiles $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - newdlprefiles="$newdlprefiles $dir/$dlname" - else - newdlprefiles="$newdlprefiles $dir/$linklib" - fi - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var"; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *" $absdir "*) ;; - *) temp_rpath="$temp_rpath $dir" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - if test -n "$library_names" && - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes - fi - # This is a shared library - - # Warn about portability, can't link against -module's on some systems (darwin) - if test "$shouldnotlink" = yes && test "$pass" = link ; then - $echo - if test "$linkmode" = prog; then - $echo "*** Warning: Linking the executable $output against the loadable module" - else - $echo "*** Warning: Linking the shared library $output against the loadable module" - fi - $echo "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - realname="$2" - shift; shift - libname=`eval \\$echo \"$libname_spec\"` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw*) - major=`expr $current - $age` - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - soname=`$echo $soroot | ${SED} -e 's/^.*\///'` - newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - $show "extracting exported symbol list from \`$soname'" - save_ifs="$IFS"; IFS='~' - eval cmds=\"$extract_expsyms_cmds\" - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - $show "generating import library for \`$soname'" - save_ifs="$IFS"; IFS='~' - eval cmds=\"$old_archive_from_expsyms_cmds\" - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5* ) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a module then we can not link against it, someone - # is ignoring the new warnings I added - if /usr/bin/file -L $add 2> /dev/null | grep "bundle" >/dev/null ; then - $echo "** Warning, lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - $echo - $echo "** And there doesn't seem to be a static archive available" - $echo "** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case "$libdir" in - [\\/]*) - add_dir="-L$inst_prefix_dir$libdir $add_dir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - $echo "$modename: configuration error: unsupported hardcode properties" - exit 1 - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && \ - test "$hardcode_minus_L" != yes && \ - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case "$libdir" in - [\\/]*) - add_dir="-L$inst_prefix_dir$libdir $add_dir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - $echo - $echo "*** Warning: This system can not link to static lib archive $lib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - $echo "*** But as you try to build a module library, libtool will still create " - $echo "*** a static module, that should work as long as the dlopening application" - $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - convenience="$convenience $dir/$old_library" - old_convenience="$old_convenience $dir/$old_library" - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - #if test -n "$dependency_libs" && - # { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || - # test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - *) temp_deplibs="$temp_deplibs $libdir";; - esac - done - dependency_libs="$temp_deplibs" - #fi - - newlib_search_path="$newlib_search_path $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - case $deplib in - -L*) path="$deplib" ;; - *.la) - dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$deplib" && dir="." - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - fi - ;; - esac - if grep "^installed=no" $deplib > /dev/null; then - path="$absdir/$objdir" - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit 1 - fi - if test "$absdir" != "$libdir"; then - # Sure, some shells/systems don't implement the -ef. - # Those will have to live with the warning. - test "$absdir" -ef "$libdir" > /dev/null 2>&1 || - $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 - fi - path="$absdir" - fi - depdepl= - case $host in - *-*-darwin*) - # we do not want to link against static libs, but need to link against shared - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$path/$depdepl" ; then - depdepl="$path/$depdepl" - fi - # do not add paths which are already there - case " $newlib_search_path " in - *" $path "*) ;; - *) newlib_search_path="$newlib_search_path $path";; - esac - path="" - fi - ;; - *) - path="-L$path" - ;; - esac - - ;; - -l*) - case $host in - *-*-darwin*) - # Again, we only want to link against shared libraries - eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` - for tmp in $newlib_search_path ; do - if test -f "$tmp/lib$tmp_libs.dylib" ; then - eval depdepl="$tmp/lib$tmp_libs.dylib" - break - fi - done - path="" - ;; - *) continue ;; - esac - ;; - - *.ltframework) - case $host in - *-*-darwin*) - depdepl="$deplib" - ;; - esac - ;; - - *) continue ;; - esac - case " $deplibs " in - *" $depdepl "*) ;; - *) deplibs="$deplibs $depdepl" ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$deplibs $path" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - tmp_libs="$tmp_libs $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 - fi - - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 - fi - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - objs="$objs$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - eval shared_ext=\"$shrext\" - eval libname=\"$libname_spec\" - ;; - *) - if test "$module" = no; then - $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - eval shared_ext=\"$shrext\" - eval libname=\"$libname_spec\" - else - libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 - exit 1 - else - $echo - $echo "*** Warning: Linking the shared library $output against the non-libtool" - $echo "*** objects $objs is not portable!" - libobjs="$libobjs $objs" - fi - fi - - if test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 - fi - - set dummy $rpath - if test "$#" -gt 2; then - $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 - fi - install_libdir="$2" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 - fi - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - IFS="$save_ifs" - - if test -n "$8"; then - $echo "$modename: too many parameters to \`-version-info'" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$2" - number_minor="$3" - number_revision="$4" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - darwin|linux|osf|windows) - current=`expr $number_major + $number_minor` - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - current=`expr $number_major + $number_minor - 1` - age="$number_minor" - revision="$number_minor" - ;; - esac - ;; - no) - current="$2" - revision="$3" - age="$4" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; - *) - $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - ;; - esac - - case $revision in - 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; - *) - $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - ;; - esac - - case $age in - 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; - *) - $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - ;; - esac - - if test "$age" -gt "$current"; then - $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - minor_current=`expr $current + 1` - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current"; - ;; - - irix | nonstopux) - major=`expr $current - $age + 1` - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - iface=`expr $revision - $loop` - loop=`expr $loop - 1` - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - ;; - - osf) - major=.`expr $current - $age` - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - iface=`expr $current - $loop` - loop=`expr $loop - 1` - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - major=`expr $current - $age` - versuffix="-$major" - ;; - - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit 1 - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - fi - - if test "$mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$echo "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *$exeext) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - removelist="$removelist $p" - ;; - *) ;; - esac - done - if test -n "$removelist"; then - $show "${rm}r $removelist" - $run ${rm}r $removelist - fi - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - for path in $notinst_path; do - lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'` - deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'` - dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'` - done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - if true || test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) dlfiles="$dlfiles $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) dlprefiles="$dlprefiles $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - deplibs="$deplibs System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - deplibs="$deplibs -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $rm conftest.c - cat > conftest.c <<EOF - int main() { return 0; } -EOF - $rm conftest - $LTCC -o conftest conftest.c $deplibs - if test "$?" -eq 0 ; then - ldd_output=`ldd conftest` - for i in $deplibs; do - name="`expr $i : '-l\(.*\)'`" - # If $name is empty we are operating on a -L argument. - if test "$name" != "" && test "$name" -ne "0"; then - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $i "*) - newdeplibs="$newdeplibs $i" - i="" - ;; - esac - fi - if test -n "$i" ; then - libname=`eval \\$echo \"$libname_spec\"` - deplib_matches=`eval \\$echo \"$library_names_spec\"` - set dummy $deplib_matches - deplib_match=$2 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then - newdeplibs="$newdeplibs $i" - else - droppeddeps=yes - $echo - $echo "*** Warning: dynamic linker does not accept needed library $i." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which I believe you do not have" - $echo "*** because a test_compile did reveal that the linker did not use it for" - $echo "*** its dynamic dependency list that programs get resolved with at runtime." - fi - fi - else - newdeplibs="$newdeplibs $i" - fi - done - else - # Error occurred in the first compile. Let's try to salvage - # the situation: Compile a separate program for each library. - for i in $deplibs; do - name="`expr $i : '-l\(.*\)'`" - # If $name is empty we are operating on a -L argument. - if test "$name" != "" && test "$name" != "0"; then - $rm conftest - $LTCC -o conftest conftest.c $i - # Did it work? - if test "$?" -eq 0 ; then - ldd_output=`ldd conftest` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $i "*) - newdeplibs="$newdeplibs $i" - i="" - ;; - esac - fi - if test -n "$i" ; then - libname=`eval \\$echo \"$libname_spec\"` - deplib_matches=`eval \\$echo \"$library_names_spec\"` - set dummy $deplib_matches - deplib_match=$2 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then - newdeplibs="$newdeplibs $i" - else - droppeddeps=yes - $echo - $echo "*** Warning: dynamic linker does not accept needed library $i." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because a test_compile did reveal that the linker did not use this one" - $echo "*** as a dynamic dependency that programs can get resolved with at runtime." - fi - fi - else - droppeddeps=yes - $echo - $echo "*** Warning! Library $i is needed by this library but I was not able to" - $echo "*** make it link in! You will probably need to install it or some" - $echo "*** library that it depends on before this library will be fully" - $echo "*** functional. Installing it before continuing would be even better." - fi - else - newdeplibs="$newdeplibs $i" - fi - done - fi - ;; - file_magic*) - set dummy $deplibs_check_method - file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - for a_deplib in $deplibs; do - name="`expr $a_deplib : '-l\(.*\)'`" - # If $name is empty we are operating on a -L argument. - if test "$name" != "" && test "$name" != "0"; then - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null \ - | grep " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for file magic test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a file magic. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - for a_deplib in $deplibs; do - name="`expr $a_deplib : '-l\(.*\)'`" - # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval $echo \"$potent_lib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a regex pattern. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ - -e 's/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` - done - fi - if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ - | grep . >/dev/null; then - $echo - if test "X$deplibs_check_method" = "Xnone"; then - $echo "*** Warning: inter-library dependencies are not supported in this platform." - else - $echo "*** Warning: inter-library dependencies are not known to be supported." - fi - $echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - fi - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - $echo - $echo "*** Warning: libtool could not satisfy all declared inter-library" - $echo "*** dependencies of module $libname. Therefore, libtool will create" - $echo "*** a static module, that should work as long as the dlopening" - $echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - $echo "*** The inter-library dependencies that have been dropped here will be" - $echo "*** automatically added whenever a program is linked with this library" - $echo "*** or is declared to -dlopen it." - - if test "$allow_undefined" = no; then - $echo - $echo "*** Since this library must not contain undefined symbols," - $echo "*** because either the platform does not support them or" - $echo "*** it was explicitly requested with -no-undefined," - $echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - dependency_libs=`$echo "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - # Done checking deplibs! - deplibs=$newdeplibs - fi - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$mode" != relink && test "$fast_install" = no && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - dep_rpath="$dep_rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then - eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" - else - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - realname="$2" - shift; shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib="$output_objdir/$realname" - for link - do - linknames="$linknames $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - eval cmds=\"$export_symbols_cmds\" - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - if len=`expr "X$cmd" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - $show "$cmd" - $run eval "$cmd" || exit $? - skipped_export=false - else - # The command line is too long to execute in one step. - $show "using reloadable object file for export list..." - skipped_export=: - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex"; then - $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" - $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - $show "$mv \"${export_symbols}T\" \"$export_symbols\"" - $run eval '$mv "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - tmp_deplibs="$tmp_deplibs $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${outputname}x" - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - $show "$mkdir $gentop" - $run $mkdir "$gentop" - status=$? - if test "$status" -ne 0 && test ! -d "$gentop"; then - exit $status - fi - generated="$generated $gentop" - - for xlib in $convenience; do - # Extract the objects. - case $xlib in - [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; - *) xabs=`pwd`"/$xlib" ;; - esac - xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` - xdir="$gentop/$xlib" - - $show "${rm}r $xdir" - $run ${rm}r "$xdir" - $show "$mkdir $xdir" - $run $mkdir "$xdir" - status=$? - if test "$status" -ne 0 && test ! -d "$xdir"; then - exit $status - fi - # We will extract separately just the conflicting names and we will no - # longer touch any unique names. It is faster to leave these extract - # automatically by $AR in one run. - $show "(cd $xdir && $AR x $xabs)" - $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? - if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 - $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 - $AR t "$xabs" | sort | uniq -cd | while read -r count name - do - i=1 - while test "$i" -le "$count" - do - # Put our $i before any first dot (extension) - # Never overwrite any file - name_to="$name" - while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" - do - name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` - done - $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" - $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? - i=`expr $i + 1` - done - done - fi - - libobjs="$libobjs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` - done - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - linker_flags="$linker_flags $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? - fi - - # Add all flags from the command line. We here create a library, - # but those flags were only added to compile_command and - # finalize_command, which are only used when creating executables. - # So do it by hand here. - compiler_flags="$compiler_flags $add_flags" - # Only add it to commands which use CC, instead of LD, i.e. - # only to $compiler_flags - #linker_flags="$linker_flags $add_flags" - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval cmds=\"$module_expsym_cmds\" - else - eval cmds=\"$module_cmds\" - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval cmds=\"$archive_expsym_cmds\" - else - eval cmds=\"$archive_cmds\" - fi - fi - - if test "X$skipped_export" != "X:" && len=`expr "X$cmds" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise. - $echo "creating reloadable object files..." - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - delfiles= - last_robj= - k=1 - output=$output_objdir/$save_output-${k}.$objext - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - eval test_cmds=\"$reload_cmds $objlist $last_robj\" - if test "X$objlist" = X || - { len=`expr "X$test_cmds" : ".*"` && - test "$len" -le "$max_cmd_len"; }; then - objlist="$objlist $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - eval concat_cmds=\"$reload_cmds $objlist $last_robj\" - else - # All subsequent reloadable object files will link in - # the last one created. - eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" - fi - last_robj=$output_objdir/$save_output-${k}.$objext - k=`expr $k + 1` - output=$output_objdir/$save_output-${k}.$objext - objlist=$obj - len=1 - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" - - if ${skipped_export-false}; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - libobjs=$output - # Append the command to create the export file. - eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" - fi - - # Set up a command to remove the reloadale object files - # after they are used. - i=0 - while test "$i" -lt "$k" - do - i=`expr $i + 1` - delfiles="$delfiles $output_objdir/$save_output-${i}.$objext" - done - - $echo "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval cmds=\"$archive_expsym_cmds\" - else - eval cmds=\"$archive_cmds\" - fi - - # Append the command to remove the reloadable object files - # to the just-reset $cmds. - eval cmds=\"\$cmds~$rm $delfiles\" - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? - exit 0 - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - obj) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 - fi - - case $output in - *.lo) - if test -n "$objs$old_deplibs"; then - $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 - exit 1 - fi - libobj="$output" - obj=`$echo "X$output" | $Xsed -e "$lo2o"` - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $run $rm $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${obj}x" - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - $show "$mkdir $gentop" - $run $mkdir "$gentop" - status=$? - if test "$status" -ne 0 && test ! -d "$gentop"; then - exit $status - fi - generated="$generated $gentop" - - for xlib in $convenience; do - # Extract the objects. - case $xlib in - [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; - *) xabs=`pwd`"/$xlib" ;; - esac - xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` - xdir="$gentop/$xlib" - - $show "${rm}r $xdir" - $run ${rm}r "$xdir" - $show "$mkdir $xdir" - $run $mkdir "$xdir" - status=$? - if test "$status" -ne 0 && test ! -d "$xdir"; then - exit $status - fi - # We will extract separately just the conflicting names and we will no - # longer touch any unique names. It is faster to leave these extract - # automatically by $AR in one run. - $show "(cd $xdir && $AR x $xabs)" - $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? - if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 - $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 - $AR t "$xabs" | sort | uniq -cd | while read -r count name - do - i=1 - while test "$i" -le "$count" - do - # Put our $i before any first dot (extension) - # Never overwrite any file - name_to="$name" - while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" - do - name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` - done - $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" - $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? - i=`expr $i + 1` - done - done - fi - - reload_conv_objs="$reload_objs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` - done - fi - fi - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - eval cmds=\"$reload_cmds\" - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit 0 - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $run eval "echo timestamp > $libobj" || exit $? - exit 0 - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - eval cmds=\"$reload_cmds\" - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit 0 - ;; - - prog) - case $host in - *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; - esac - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 - fi - - if test "$preload" = yes; then - if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && - test "$dlopen_self_static" = unknown; then - $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." - fi - fi - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` - finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - if test "$tagname" = CXX ; then - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - compile_command="$compile_command $compile_deplibs" - finalize_command="$finalize_command $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - case :$dllsearchpath: in - *":$libdir:"*) ;; - *) dllsearchpath="$dllsearchpath:$libdir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - fi - - dlsyms= - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - dlsyms="${outputname}S.c" - else - $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 - fi - fi - - if test -n "$dlsyms"; then - case $dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${outputname}.nm" - - $show "$rm $nlist ${nlist}S ${nlist}T" - $run $rm "$nlist" "${nlist}S" "${nlist}T" - - # Parse the name list into a source file. - $show "creating $output_objdir/$dlsyms" - - test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ -/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ -/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -/* Prevent the only kind of declaration conflicts we can make. */ -#define lt_preloaded_symbols some_other_symbol - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - $show "generating symbol list for \`$output'" - - test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - for arg in $progfiles; do - $show "extracting global C symbols from \`$arg'" - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - if test -n "$export_symbols_regex"; then - $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$output.exp" - $run $rm $export_symbols - $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - else - $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' - $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' - $run eval 'mv "$nlist"T "$nlist"' - fi - fi - - for arg in $dlprefiles; do - $show "extracting global C symbols from \`$arg'" - name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` - $run eval '$echo ": $name " >> "$nlist"' - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -z "$run"; then - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $mv "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | - if sort -k 3 </dev/null >/dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - grep -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' - else - $echo '/* NONE */' >> "$output_objdir/$dlsyms" - fi - - $echo >> "$output_objdir/$dlsyms" "\ - -#undef lt_preloaded_symbols - -#if defined (__STDC__) && __STDC__ -# define lt_ptr void * -#else -# define lt_ptr char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr address; -} -lt_preloaded_symbols[] = -{\ -" - - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" - - $echo >> "$output_objdir/$dlsyms" "\ - {0, (lt_ptr) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - fi - - pic_flag_for_symtable= - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; - esac;; - *-*-hpux*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag";; - esac - esac - - # Now compile the dynamic symbol file. - $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" - $run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? - - # Clean up the generated files. - $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" - $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" - - # Transform the symbol file into the correct name. - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - ;; - *) - $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 - exit 1 - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` - fi - - # AIX runtime linking requires linking programs with -Wl,-brtl and libs with -Wl,-G - # Also add -bnolibpath to the beginning of the link line, to clear the hardcoded runpath. - # Otherwise, things like the -L path to libgcc.a are accidentally hardcoded by ld. - # This does not apply on AIX for ia64, which uses a SysV linker. - case "$host" in - ia64-*-aix5*) ;; - *-*-aix4* | *-*-aix5*) - compile_command=`$echo "X$compile_command $wl-brtl" | $Xsed -e "s/\$CC/\$CC $wl-bnolibpath/1"` - finalize_command=`$echo "X$finalize_command $wl-brtl" | $Xsed -e "s/\$CC/\$CC $wl-bnolibpath/1"` ;; - esac - - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - $show "$link_command" - $run eval "$link_command" - status=$? - - # Delete the generated files. - if test -n "$dlsyms"; then - $show "$rm $output_objdir/${outputname}S.${objext}" - $run $rm "$output_objdir/${outputname}S.${objext}" - fi - - exit $status - fi - - if test -n "$shlibpath_var"; then - # We should set the shlibpath_var - rpath= - for dir in $temp_rpath; do - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) - # Absolute path. - rpath="$rpath$dir:" - ;; - *) - # Relative path: add a thisdir entry. - rpath="$rpath\$thisdir/$dir:" - ;; - esac - done - temp_rpath="$rpath" - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $run $rm $output - # Link the executable and exit - $show "$link_command" - $run eval "$link_command" || exit $? - exit 0 - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 - $echo "$modename: \`$output' will be relinked during installation" 1>&2 - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname - - $show "$link_command" - $run eval "$link_command" || exit $? - - # Now create the wrapper script. - $show "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - fi - - # Quote $echo for shipping. - if test "X$echo" = "X$SHELL $0 --fallback-echo"; then - case $0 in - [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";; - *) qecho="$SHELL `pwd`/$0 --fallback-echo";; - esac - qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` - else - qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` - fi - - # Only actually do things if our run command is non-null. - if test -z "$run"; then - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; - *) exeext= ;; - esac - case $host in - *mingw* ) - cwrappersource=`$echo ${output_objdir}/lt-${outputname}.c` - cwrapper=`$echo ${output}.exe` - $rm $cwrappersource $cwrapper - trap "$rm $cwrappersource $cwrapper; exit 1" 1 2 15 - - cat > $cwrappersource <<EOF - -/* $cwrappersource - temporary wrapper executable for $objdir/$outputname - Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP - - The $output program cannot be directly executed until all the libtool - libraries that it depends on are installed. - - This wrapper executable should never be moved out of the build directory. - If it is, it will not operate correctly. - - Currently, it simply execs the wrapper *script* "/bin/sh $output", - but could eventually absorb all of the scripts functionality and - exec $objdir/$outputname directly. -*/ -EOF - cat >> $cwrappersource<<"EOF" -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <malloc.h> -#include <stdarg.h> -#include <assert.h> - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef DIR_SEPARATOR -#define DIR_SEPARATOR '/' -#endif - -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -#define HAVE_DOS_BASED_FILE_SYSTEM -#ifndef DIR_SEPARATOR_2 -#define DIR_SEPARATOR_2 '\\' -#endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) - -const char *program_name = NULL; - -void * xmalloc (size_t num); -char * xstrdup (const char *string); -char * basename (const char *name); -char * fnqualify(const char *path); -char * strendzap(char *str, const char *pat); -void lt_fatal (const char *message, ...); - -int -main (int argc, char *argv[]) -{ - char **newargz; - int i; - - program_name = (char *) xstrdup ((char *) basename (argv[0])); - newargz = XMALLOC(char *, argc+2); -EOF - - cat >> $cwrappersource <<EOF - newargz[0] = "$SHELL"; -EOF - - cat >> $cwrappersource <<"EOF" - newargz[1] = fnqualify(argv[0]); - /* we know the script has the same name, without the .exe */ - /* so make sure newargz[1] doesn't end in .exe */ - strendzap(newargz[1],".exe"); - for (i = 1; i < argc; i++) - newargz[i+1] = xstrdup(argv[i]); - newargz[argc+1] = NULL; -EOF - - cat >> $cwrappersource <<EOF - execv("$SHELL",newargz); -EOF - - cat >> $cwrappersource <<"EOF" -} - -void * -xmalloc (size_t num) -{ - void * p = (void *) malloc (num); - if (!p) - lt_fatal ("Memory exhausted"); - - return p; -} - -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL -; -} - -char * -basename (const char *name) -{ - const char *base; - -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha (name[0]) && name[1] == ':') - name += 2; -#endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return (char *) base; -} - -char * -fnqualify(const char *path) -{ - size_t size; - char *p; - char tmp[LT_PATHMAX + 1]; - - assert(path != NULL); - - /* Is it qualified already? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha (path[0]) && path[1] == ':') - return xstrdup (path); -#endif - if (IS_DIR_SEPARATOR (path[0])) - return xstrdup (path); - - /* prepend the current directory */ - /* doesn't handle '~' */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - size = strlen(tmp) + 1 + strlen(path) + 1; /* +2 for '/' and '\0' */ - p = XMALLOC(char, size); - sprintf(p, "%s%c%s", tmp, DIR_SEPARATOR, path); - return p; -} - -char * -strendzap(char *str, const char *pat) -{ - size_t len, patlen; - - assert(str != NULL); - assert(pat != NULL); - - len = strlen(str); - patlen = strlen(pat); - - if (patlen <= len) - { - str += len - patlen; - if (strcmp(str, pat) == 0) - *str = '\0'; - } - return str; -} - -static void -lt_error_core (int exit_status, const char * mode, - const char * message, va_list ap) -{ - fprintf (stderr, "%s: %s: ", program_name, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, "FATAL", message, ap); - va_end (ap); -} -EOF - # we should really use a build-platform specific compiler - # here, but OTOH, the wrappers (shell script and this C one) - # are only useful if you want to execute the "real" binary. - # Since the "real" binary is built for $host, then this - # wrapper might as well be built for $host, too. - $run $LTCC -s -o $cwrapper $cwrappersource - ;; - esac - $rm $output - trap "$rm $output; exit 1" 1 2 15 - - $echo > $output "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='${SED} -e 1s/^X//' -sed_quote_subst='$sed_quote_subst' - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variable: - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$echo are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - echo=\"$qecho\" - file=\"\$0\" - # Make sure echo works. - if test \"X\$1\" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift - elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then - # Yippee, \$echo works! - : - else - # Restart under the correct shell, and then maybe \$echo will work. - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} - fi - fi\ -" - $echo >> $output "\ - - # Find the directory that this script lives in. - thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` - done - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - $echo >> $output "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || \\ - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $mkdir \"\$progdir\" - else - $rm \"\$progdir/\$file\" - fi" - - $echo >> $output "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $echo \"\$relink_command_output\" >&2 - $rm \"\$progdir/\$file\" - exit 1 - fi - fi - - $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $rm \"\$progdir/\$program\"; - $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $rm \"\$progdir/\$file\" - fi" - else - $echo >> $output "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $echo >> $output "\ - - if test -f \"\$progdir/\$program\"; then" - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $echo >> $output "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` - - export $shlibpath_var -" - fi - - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $echo >> $output "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - $echo >> $output "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2*) - $echo >> $output "\ - exec \$progdir\\\\\$program \${1+\"\$@\"} -" - ;; - - *) - # Need to set LD_LIBRARY_PATH, to the value already - # computed within libtool. - $echo >> $output "\ - LD_LIBRARY_PATH=\"$rpath\" exec \$progdir/\$program \${1+\"\$@\"} -" - ;; - esac - $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" - exit 1 - fi - else - # The program doesn't exist. - \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 - \$echo \"This script is just a wrapper for \$program.\" 1>&2 - $echo \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" - chmod +x $output - fi - exit 0 - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - $show "$mkdir $gentop" - $run $mkdir "$gentop" - status=$? - if test "$status" -ne 0 && test ! -d "$gentop"; then - exit $status - fi - generated="$generated $gentop" - - # Add in members from convenience archives. - for xlib in $addlibs; do - # Extract the objects. - case $xlib in - [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; - *) xabs=`pwd`"/$xlib" ;; - esac - xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` - xdir="$gentop/$xlib" - - $show "${rm}r $xdir" - $run ${rm}r "$xdir" - $show "$mkdir $xdir" - $run $mkdir "$xdir" - status=$? - if test "$status" -ne 0 && test ! -d "$xdir"; then - exit $status - fi - # We will extract separately just the conflicting names and we will no - # longer touch any unique names. It is faster to leave these extract - # automatically by $AR in one run. - $show "(cd $xdir && $AR x $xabs)" - $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? - if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 - $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 - $AR t "$xabs" | sort | uniq -cd | while read -r count name - do - i=1 - while test "$i" -le "$count" - do - # Put our $i before any first dot (extension) - # Never overwrite any file - name_to="$name" - while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" - do - name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` - done - $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" - $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? - i=`expr $i + 1` - done - done - fi - - oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP` - done - fi - - compiler_flags="$compiler_flags $add_flags" - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - eval cmds=\"$old_archive_from_new_cmds\" - else - eval cmds=\"$old_archive_cmds\" - - if len=`expr "X$cmds" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # the command line is too long to link in one step, link in parts - $echo "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - # GNU ar 2.10+ was changed to match POSIX; thus no paths are - # encoded into archives. This makes 'ar r' malfunction in - # this piecewise linking case whenever conflicting object - # names appear in distinct ar calls; check, warn and compensate. - if (for obj in $save_oldobjs - do - $echo "X$obj" | $Xsed -e 's%^.*/%%' - done | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "$modename: warning: object name conflicts; overriding AR_FLAGS to 'cq'" 1>&2 - $echo "$modename: warning: to ensure that POSIX-compatible ar will work" 1>&2 - AR_FLAGS=cq - fi - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - for obj in $save_oldobjs - do - oldobjs="$objlist $obj" - objlist="$objlist $obj" - eval test_cmds=\"$old_archive_cmds\" - if len=`expr "X$test_cmds" : ".*"` && - test "$len" -le "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~$old_archive_cmds\" - fi - fi - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$generated"; then - $show "${rm}r$generated" - $run ${rm}r$generated - fi - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - $show "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi - # Only create the output if not a dry run. - if test -z "$run"; then - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit 1 - fi - newdependency_libs="$newdependency_libs $libdir/$name" - ;; - *) newdependency_libs="$newdependency_libs $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - for lib in $dlfiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit 1 - fi - newdlfiles="$newdlfiles $libdir/$name" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit 1 - fi - newdlprefiles="$newdlprefiles $libdir/$name" - done - dlprefiles="$newdlprefiles" - fi - $rm $output - # place dlname in correct position for cygwin - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac - $echo > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes && test "$fast_install" = no; then - $echo >> $output "\ -relink_command=\"$relink_command\"" - fi - done - fi - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" - $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? - ;; - esac - exit 0 - ;; - - # libtool install mode - install) - modename="$modename: install" - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then - # Aesthetically quote it. - arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - install_prog="$arg " - arg="$1" - shift - else - install_prog= - arg="$nonopt" - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog$arg" - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - for arg - do - if test -n "$dest"; then - files="$files $dest" - dest="$arg" - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) prev="-f" ;; - -g) prev="-g" ;; - -m) prev="-m" ;; - -o) prev="-o" ;; - -s) - stripme=" -s" - continue - ;; - -*) ;; - - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest="$arg" - continue - fi - ;; - esac - - # Aesthetically quote the argument. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog $arg" - done - - if test -z "$install_prog"; then - $echo "$modename: you must specify an install program" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - if test -n "$prev"; then - $echo "$modename: the \`$prev' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - if test -z "$files"; then - if test -z "$dest"; then - $echo "$modename: no file or destination specified" 1>&2 - else - $echo "$modename: you must specify a destination" 1>&2 - fi - $echo "$help" 1>&2 - exit 1 - fi - - # Strip any trailing slash from the destination. - dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` - test "X$destdir" = "X$dest" && destdir=. - destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` - - # Not a directory, so check to see that there is only one file specified. - set dummy $files - if test "$#" -gt 2; then - $echo "$modename: \`$dest' is not a directory" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - staticlibs="$staticlibs $file" - ;; - - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - library_names= - old_library= - relink_command= - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; - esac - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ - test "X$dir" = "X$file/" && dir= - dir="$dir$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - if test "$inst_prefix_dir" = "$destdir"; then - $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 - exit 1 - fi - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - - $echo "$modename: warning: relinking \`$file'" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - exit 1 - fi - fi - - # See the names of the shared library. - set dummy $library_names - if test -n "$2"; then - realname="$2" - shift - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - $show "$install_prog $dir/$srcname $destdir/$realname" - $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? - if test -n "$stripme" && test -n "$striplib"; then - $show "$striplib $destdir/$realname" - $run eval "$striplib $destdir/$realname" || exit $? - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - for linkname - do - if test "$linkname" != "$realname"; then - $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" - fi - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - eval cmds=\"$postinstall_cmds\" - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - # Install the pseudo-library for information purposes. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - instname="$dir/$name"i - $show "$install_prog $instname $destdir/$name" - $run eval "$install_prog $instname $destdir/$name" || exit $? - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - esac - - # Install the libtool object if requested. - if test -n "$destfile"; then - $show "$install_prog $file $destfile" - $run eval "$install_prog $file $destfile" || exit $? - fi - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` - - $show "$install_prog $staticobj $staticdest" - $run eval "$install_prog \$staticobj \$staticdest" || exit $? - fi - exit 0 - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - file=`$echo $file|${SED} 's,.exe$,,'` - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin*|*mingw*) - wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` - ;; - *) - wrapper=$file - ;; - esac - if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then - notinst_deplibs= - relink_command= - - # To insure that "foo" is sourced, and not "foo.exe", - # finese the cygwin/MSYS system by explicitly sourcing "foo." - # which disallows the automatic-append-.exe behavior. - case $build in - *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; - *) wrapperdot=${wrapper} ;; - esac - # If there is no directory component, then add one. - case $file in - */* | *\\*) . ${wrapperdot} ;; - *) . ./${wrapperdot} ;; - esac - - # Check the variables that should have been set. - if test -z "$notinst_deplibs"; then - $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 - exit 1 - fi - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - # If there is no directory component, then add one. - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - fi - libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 - finalize=no - fi - done - - relink_command= - # To insure that "foo" is sourced, and not "foo.exe", - # finese the cygwin/MSYS system by explicitly sourcing "foo." - # which disallows the automatic-append-.exe behavior. - case $build in - *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; - *) wrapperdot=${wrapper} ;; - esac - # If there is no directory component, then add one. - case $file in - */* | *\\*) . ${wrapperdot} ;; - *) . ./${wrapperdot} ;; - esac - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - if test "$finalize" = yes && test -z "$run"; then - tmpdir="/tmp" - test -n "$TMPDIR" && tmpdir="$TMPDIR" - tmpdir="$tmpdir/libtool-$$" - if $mkdir "$tmpdir" && chmod 700 "$tmpdir"; then : - else - $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 - continue - fi - file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` - - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - ${rm}r "$tmpdir" - continue - fi - file="$outputname" - else - $echo "$modename: warning: cannot relink \`$file'" 1>&2 - fi - else - # Install the binary that we compiled earlier. - file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyways - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` - ;; - esac - ;; - esac - $show "$install_prog$stripme $file $destfile" - $run eval "$install_prog\$stripme \$file \$destfile" || exit $? - test -n "$outputname" && ${rm}r "$tmpdir" - ;; - esac - done - - for file in $staticlibs; do - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - - $show "$install_prog $file $oldlib" - $run eval "$install_prog \$file \$oldlib" || exit $? - - if test -n "$stripme" && test -n "$striplib"; then - $show "$old_striplib $oldlib" - $run eval "$old_striplib $oldlib" || exit $? - fi - - # Do each command in the postinstall commands. - eval cmds=\"$old_postinstall_cmds\" - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$future_libdirs"; then - $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 - fi - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - test -n "$run" && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $0 --finish$current_libdirs' - else - exit 0 - fi - ;; - - # libtool finish mode - finish) - modename="$modename: finish" - libdirs="$nonopt" - admincmds= - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done - - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - eval cmds=\"$finish_cmds\" - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || admincmds="$admincmds - $cmd" - done - IFS="$save_ifs" - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $run eval "$cmds" || admincmds="$admincmds - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - exit 0 - - $echo "----------------------------------------------------------------------" - $echo "Libraries have been installed in:" - for libdir in $libdirs; do - $echo " $libdir" - done - $echo - $echo "If you ever happen to want to link against installed libraries" - $echo "in a given directory, LIBDIR, you must either use libtool, and" - $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - $echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - $echo " during execution" - fi - if test -n "$runpath_var"; then - $echo " - add LIBDIR to the \`$runpath_var' environment variable" - $echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $echo " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $echo " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - $echo - $echo "See any operating system documentation about shared libraries for" - $echo "more information, such as the ld(1) and ld.so(8) manual pages." - $echo "----------------------------------------------------------------------" - exit 0 - ;; - - # libtool execute mode - execute) - modename="$modename: execute" - - # The first argument is the command name. - cmd="$nonopt" - if test -z "$cmd"; then - $echo "$modename: you must specify a COMMAND" 1>&2 - $echo "$help" - exit 1 - fi - - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - if test ! -f "$file"; then - $echo "$modename: \`$file' is not a file" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - dir= - case $file in - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - # Read the libtool library. - dlname= - library_names= - - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" - continue - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 - exit 1 - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - ;; - - *) - $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -*) ;; - *) - # Do a test to see if this is really a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` - args="$args \"$file\"" - done - - if test -z "$run"; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - if test "${save_LC_ALL+set}" = set; then - LC_ALL="$save_LC_ALL"; export LC_ALL - fi - if test "${save_LANG+set}" = set; then - LANG="$save_LANG"; export LANG - fi - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" - $echo "export $shlibpath_var" - fi - $echo "$cmd$args" - exit 0 - fi - ;; - - # libtool clean and uninstall mode - clean | uninstall) - modename="$modename: $mode" - rm="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) rm="$rm $arg"; rmforce=yes ;; - -*) rm="$rm $arg" ;; - *) files="$files $arg" ;; - esac - done - - if test -z "$rm"; then - $echo "$modename: you must specify an RM program" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - rmdirs= - - origobjdir="$objdir" - for file in $files; do - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$file"; then - dir=. - objdir="$origobjdir" - else - objdir="$dir/$origobjdir" - fi - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - test "$mode" = uninstall && objdir="$dir" - - # Remember objdir for removal later, being careful to avoid duplicates - if test "$mode" = clean; then - case " $rmdirs " in - *" $objdir "*) ;; - *) rmdirs="$rmdirs $objdir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if (test -L "$file") >/dev/null 2>&1 \ - || (test -h "$file") >/dev/null 2>&1 \ - || test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - . $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles="$rmfiles $objdir/$n" - done - test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" - test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" - - if test "$mode" = uninstall; then - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - eval cmds=\"$postuninstall_cmds\" - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - eval cmds=\"$old_postuninstall_cmds\" - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - # FIXME: should reinstall the best remaining shared library. - fi - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - - # Read the .lo file - . $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" \ - && test "$pic_object" != none; then - rmfiles="$rmfiles $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" \ - && test "$non_pic_object" != none; then - rmfiles="$rmfiles $dir/$non_pic_object" - fi - fi - ;; - - *) - if test "$mode" = clean ; then - noexename=$name - case $file in - *.exe) - file=`$echo $file|${SED} 's,.exe$,,'` - noexename=`$echo $name|${SED} 's,.exe$,,'` - # $file with .exe has already been added to rmfiles, - # add $file without .exe - rmfiles="$rmfiles $file" - ;; - esac - # Do a test to see if this is a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - relink_command= - . $dir/$noexename - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - rmfiles="$rmfiles $objdir/lt-$name" - fi - if test "X$noexename" != "X$name" ; then - rmfiles="$rmfiles $objdir/lt-${noexename}.c" - fi - fi - fi - ;; - esac - $show "$rm $rmfiles" - $run $rm $rmfiles || exit_status=1 - done - objdir="$origobjdir" - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - $show "rmdir $dir" - $run rmdir $dir >/dev/null 2>&1 - fi - done - - exit $exit_status - ;; - - "") - $echo "$modename: you must specify a MODE" 1>&2 - $echo "$generic_help" 1>&2 - exit 1 - ;; - esac - - if test -z "$exec_cmd"; then - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$generic_help" 1>&2 - exit 1 - fi -fi # test -z "$show_help" - -if test -n "$exec_cmd"; then - eval exec $exec_cmd - exit 1 -fi - -# We need to display help for each of the modes. -case $mode in -"") $echo \ -"Usage: $modename [OPTION]... [MODE-ARG]... - -Provide generalized library-building support services. - - --config show all configuration variables - --debug enable verbose shell tracing --n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --finish same as \`--mode=finish' - --help display this help message and exit - --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] - --quiet same as \`--silent' - --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - --version print version information - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for -a more detailed description of MODE. - -Report bugs to <bug-libtool@gnu.org>." - exit 0 - ;; - -clean) - $echo \ -"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - -compile) - $echo \ -"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -prefer-pic try to building PIC objects only - -prefer-non-pic try to building non-PIC objects only - -static always build a \`.o' file suitable for static linking - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - -execute) - $echo \ -"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - -finish) - $echo \ -"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - -install) - $echo \ -"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - -link) - $echo \ -"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -static do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - -uninstall) - $echo \ -"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - -*) - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; -esac - -$echo -$echo "Try \`$modename --help' for more information about other modes." - -exit 0 - -# The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff --git a/kde/admin/missing b/kde/admin/missing deleted file mode 100755 index 894e786..0000000 --- a/kde/admin/missing +++ /dev/null @@ -1,360 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. - -scriptversion=2005-06-08.21 - -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 -fi - -run=: - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi - -msg="missing on your system" - -case "$1" in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails - -Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch] - -Send bug reports to <bug-automake@gnu.org>." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - -esac - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). -case "$1" in - lex|yacc) - # Not GNU programs, they don't have --version. - ;; - - tar) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case "$1" in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case "$f" in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` - test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison|yacc) - echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if [ ! -f y.tab.h ]; then - echo >y.tab.h - fi - if [ ! -f y.tab.c ]; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex|flex) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if [ ! -f lex.yy.c ]; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` - fi - if [ -f "$file" ]; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit 1 - fi - ;; - - makeinfo) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - tar) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case "$firstarg" in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case "$firstarg" in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac - -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/kde/admin/mkinstalldirs b/kde/admin/mkinstalldirs deleted file mode 100755 index 259dbfc..0000000 --- a/kde/admin/mkinstalldirs +++ /dev/null @@ -1,158 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy - -scriptversion=2005-06-29.22 - -# Original author: Noah Friedman <friedman@prep.ai.mit.edu> -# Created: 1993-05-16 -# Public domain. -# -# This file is maintained in Automake, please report -# bugs to <bug-automake@gnu.org> or send patches to -# <automake-patches@gnu.org>. - -errstatus=0 -dirmode= - -usage="\ -Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... - -Create each directory DIR (with mode MODE, if specified), including all -leading file name components. - -Report bugs to <bug-automake@gnu.org>." - -# process command line arguments -while test $# -gt 0 ; do - case $1 in - -h | --help | --h*) # -h for help - echo "$usage" - exit $? - ;; - -m) # -m PERM arg - shift - test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } - dirmode=$1 - shift - ;; - --version) - echo "$0 $scriptversion" - exit $? - ;; - --) # stop option processing - shift - break - ;; - -*) # unknown option - echo "$usage" 1>&2 - exit 1 - ;; - *) # first non-opt arg - break - ;; - esac -done - -for file -do - if test -d "$file"; then - shift - else - break - fi -done - -case $# in - 0) exit 0 ;; -esac - -# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and -# mkdir -p a/c at the same time, both will detect that a is missing, -# one will create a, then the other will try to create a and die with -# a "File exists" error. This is a problem when calling mkinstalldirs -# from a parallel make. We use --version in the probe to restrict -# ourselves to GNU mkdir, which is thread-safe. -case $dirmode in - '') - if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - echo "mkdir -p -- $*" - exec mkdir -p -- "$@" - else - # On NextStep and OpenStep, the `mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because `.' already - # exists. - test -d ./-p && rmdir ./-p - test -d ./--version && rmdir ./--version - fi - ;; - *) - if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && - test ! -d ./--version; then - echo "mkdir -m $dirmode -p -- $*" - exec mkdir -m "$dirmode" -p -- "$@" - else - # Clean up after NextStep and OpenStep mkdir. - for d in ./-m ./-p ./--version "./$dirmode"; - do - test -d $d && rmdir $d - done - fi - ;; -esac - -for file -do - case $file in - /*) pathcomp=/ ;; - *) pathcomp= ;; - esac - oIFS=$IFS - IFS=/ - set fnord $file - shift - IFS=$oIFS - - for d - do - test "x$d" = x && continue - - pathcomp=$pathcomp$d - case $pathcomp in - -*) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - else - if test ! -z "$dirmode"; then - echo "chmod $dirmode $pathcomp" - lasterr= - chmod "$dirmode" "$pathcomp" || lasterr=$? - - if test ! -z "$lasterr"; then - errstatus=$lasterr - fi - fi - fi - fi - - pathcomp=$pathcomp/ - done -done - -exit $errstatus - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/kde/admin/nmcheck b/kde/admin/nmcheck deleted file mode 100755 index 1544713..0000000 --- a/kde/admin/nmcheck +++ /dev/null @@ -1,371 +0,0 @@ -#!/usr/bin/perl -w - -# Check namespace cleanness of a library. -# Allowed symbols are passed as arguments. -# They may have trailing * = wildcard. -# Wildcards may be also specified as *::* (e.g. K*::* for all KDE classes) -# Symbols are listed as full function unmangled names without arguments, -# e.g. 'foo bar* nspace::*' allows foo(), foo(int), bar(), barbar() -# and all symbols in namespace/class nspace. -# If an argument has comma in it, it's a filename of a file containing -# allowed symbols, one per line. - - -$thisProg = "$0"; # This programs name - -$library = ""; -$allowed_symbols = ""; -$debug = 0; -$allowed_weak = ""; -$weak_specified = 0; - -while( defined( $ARGV[ 0 ] )) -{ - $_ = shift; - if( /^--verbose$|^-v$/ ) - { - $debug = 1; - } - elsif( /^--help$|^-h$/ ) - { - print STDOUT "Usage $thisProg [OPTION] ... library [allowed symbols] ...\n", - "\n", - "Check if the given library has only allowed public symbols.\n", - "\n", - " --allowweak=[symbol] allow only these weak symbols\n", - " -v, --verbose verbosely list files processed\n", - " -h, --help print this help, then exit\n"; - exit 0; - } - elsif( /^--allowweak=(.*)$/ ) - { - $allowed_weak .= " " . $1; - $weak_specified = 1; - } - elsif( /^--allowweak$/ ) # simply list all weak - { - $allowed_weak .= " "; - $weak_specified = 1; - } - elsif( /^--*/ ) - { - die "Invalid argument!\n"; - } - else - { - if( ! $library ) - { - $library = $_; - } - else - { - $allowed_symbols .= " " . $_; - } - } -} - -if( ! $weak_specified ) -{ - $allowed_weak = "*"; - # allow all weak symbols by default - # instances of templates and similar stuff - unfortunately includes also things from other libraries, - # so it cannot be on by default -} - -print STDERR "library:" . $library . "\n" if $debug; -print STDERR "allowed_symbols:" . $allowed_symbols . "\n" if $debug; -print STDERR "allowed_weak:" . $allowed_weak . "\n" if $debug; - -$default_symbols = "_fini _init"; # system symbols -# on my system, every .so has : -# A _DYNAMIC -# A _GLOBAL_OFFSET_TABLE_ -# A __bss_start -# A _edata -# A _end -# T _fini -# T _init -# no need to list A symbols in $default_symbols - -print STDERR "default_symbols: " . $default_symbols . "\n" if $debug; - -print STDOUT "Namespace cleanness check for " . $library . " :\n"; - -$lib_file = ""; -if( $library =~ /\.la$/ ) -{ - # get the real library file from .la - open( FILEIN, $library ) || die "Couldn't open $! !\n"; - while( $line = <FILEIN> ) - { - if( $line =~ /library_names=\'([^ ]*).*/o ) - { - $lib_file = $1; - } - } - close( FILEIN ); - if( ! $lib_file ) - { - print STDERR "Library file not found in .la file!\n"; - exit 1; - } - my $libpath = $library; - $libpath =~ s%[^/]*$%%; - if( -e $libpath . ".libs/" . $lib_file ) - { - $lib_file = $libpath . ".libs/" . $lib_file; - } - else - { - $lib_file = $libpath . $lib_file; - } -} -else -{ - $lib_file = $library; -} - -print STDERR "libfile: ". $lib_file . "\n" if $debug; - -$allowed_symbols .= " " . $default_symbols; - -sub process_symbols($\@\%\@); - -@wildcards = (); -%exacts = (); -@regwildcards = (); -process_symbols( $allowed_symbols, @wildcards, %exacts, @regwildcards ); -@weak_wildcards = (); -%weak_exacts = (); -@weak_regwildcards = (); -process_symbols( $allowed_weak, @weak_wildcards, %weak_exacts, @weak_regwildcards ); - -# grep is for stripping not exported symbols, which don't have address (=first column) -$nm_command = "nm -BDCg " . $lib_file . " | grep -v '^ ' |"; - -# TODO how portable is this nmcheck stuff? - -print STDERR "nm command:" . $nm_command . "\n" if $debug; - -open( FILEIN, $nm_command ) || die "nm command failed\n"; - -my $exit_code = 0; - -while( $line = <FILEIN> ) -{ - my $type; - my $symbol; - if( $line =~ /^[^ ]* (.) (.*)$/o ) - { - $type = $1; - $symbol = $2; - } - else - { - die "Invalid line: " . $line . "\n"; - } - - print STDERR "Type: " . $type . " , symbol: " . $symbol . "\n" if $debug; - if( $type eq "A" ) - { # these should be system symbols, so ignore them - next; - } - - my $orig_symbol = $symbol; - - if( $symbol =~ /\(anonymous namespace\)/o ) - { # TODO tell to prefer named namespaces? (shorter symbols) - next; - } - - # strip prefixes - # the :: appending is to make "CLASS::*" work also for "vtable for CLASS" - $symbol =~ s/^typeinfo for (.*)$/$1::/o; - $symbol =~ s/^typeinfo fn for (.*)$/$1::/o; - $symbol =~ s/^typeinfo name for (.*)$/$1::/o; - $symbol =~ s/^vtable for (.*)$/$1::/o; - $symbol =~ s/^guard variable for (.*)$/$1::/o; - $symbol =~ s/^reference temporary for (.*)$/$1::/o; - $symbol =~ s/^VTT for (.*)$/$1::/o; - $symbol =~ s/^virtual thunk \[[^\]]*\] to (.*)$/$1::/o; - $symbol =~ s/^non-virtual thunk \[[^\]]*\] to (.*)$/$1::/o; - $symbol =~ s/^covariant return thunk \[[^\]]*\] to (.*)$/$1::/o; - $symbol =~ s/^construction vtable thunk for (.*)$/$1::/o; - $symbol =~ s/^construction vtable for .*-in-(.*) [0-9]*$/$1::/o; - - # templates seem to have also return types mangled in their name, and nm prints it too - # they have also template arguments in the symbol - # get rid of both of those - while( $symbol =~ /<.*>/o ) - { - $symbol =~ s/<[^<>]*>//o; # strip innermost <> - } - if( $symbol !~ /operator\(\)/o ) - { - $symbol =~ s/ ?\(.*\).*$//o; # strip () and all after it - } - else - { - $symbol =~ s/(^|:| )operator\(\) ?\(.*\).*$//o; # strip () and all after it - } - $symbol =~ s/\[.*\] *$//o; # strip [in-charge] etc. - if( $symbol =~ /(^|:| )operator /o ) - { - $symbol =~ s/.* ([^\s]*)operator /$1/o; # strip everything before 'X::operator blah' - } - else - { - $symbol =~ s/.* ([^\s]+) *$/$1/o; # get last word (strip return type) - } - - # print STDERR "Processed symbol: " . $symbol . "\n" if $debug; - - my $found = 0; - if( $exacts{ $symbol } ) - { - $found = 1; - } - if( ! $found ) - { - for my $wild ( @wildcards ) - { - if( index( $symbol, $wild ) == 0 ) - { - $found = 1; - last; - } - } - } - if( ! $found ) - { - for my $wild ( @regwildcards ) - { - if( $symbol =~ /^$wild$/ ) - { - $found = 1; - last; - } - } - } - if( ( ! $found ) && ( $type eq "W" || $type eq "V" )) - { - if( $weak_exacts{ $symbol } ) - { - $found = 1; - } - if( ! $found ) - { - for my $wild ( @weak_wildcards ) - { - if( index( $symbol, $wild ) == 0 ) - { - $found = 1; - last; - } - } - } - if( ! $found ) - { - for my $wild ( @weak_regwildcards ) - { - if( $symbol =~ /^$wild$/ ) - { - $found = 1; - last; - } - } - } - } - - if( ! $found ) - { - print STDERR "Public symbol " . $orig_symbol . " is not allowed!\n"; - $exit_code = 1; - } -} - -close( FILEIN ); - -print STDOUT $exit_code == 0 ? "OK\n" : "FAILED\n"; - -exit $exit_code; - -sub process_symbols($\@\%\@) -{ - my $allowed_symbols = $_[ 0 ]; - my $wildcards_ref = $_[ 1 ]; - my $exacts_ref = $_[ 2 ]; - my $regwildcards_ref = $_[ 3 ]; - - $allowed_symbols =~ s/^ *//o; # strip whitespace - $allowed_symbols =~ s/ *$//o; - - if( $allowed_symbols eq "NONE" ) - { - $allowed_symbols = ""; - } - - my @symbols1 = split( ' ', $allowed_symbols ); - my $i = 0; - my @symbols2 = (); - while( defined( $symbols1[ $i ] )) - { - my $symbol = $symbols1[ $i ]; - if( $symbol =~ /\./ ) # dot in name -> file - { - open( SYMIN, $symbol ) || die ( "Cannot open file " . $symbol . "!" ); - while( $line = <SYMIN> ) - { - $line =~ s/^\s*//o; # strip whitespace - $line =~ s/\s*$//o; - if( $line !~ /^$/o # empty line - && $line !~ /^\s*#/ ) # comment line starting with # - { - $symbols2[ $#symbols2 + 1 ] = $line; - } - } - close( SYMIN ); - } - else - { - $symbols2[ $#symbols2 + 1 ] = $symbol; - } - $i++; - } - $i = 0; - while( defined( $symbols2[ $i ] )) - { - my $symbol = $symbols2[ $i ]; - if( $symbol =~ /__/ - || $symbol =~ /^_[A-Z]/ ) - { # ISO C++ 2.10.2 - die "Symbols containing a double underscore or beginning with an underscore and an upper-case letter are reserved!\n"; - } - elsif( $symbol eq "main" - || $symbol eq "main*" ) - { - die "Symbol main is not allowed!\n"; - } - if( $symbol =~ /^([^\*]*)\*$/o # trailing * without any * before it - && $symbol !~ /operator\*$/o ) - { - print STDERR "wildcard:" . $symbol . "\n" if $debug; - $wildcards_ref->[ $#{$wildcards_ref} + 1 ] = $1; - } - elsif( $symbol =~ /\*$/o - && ( $symbol =~ /\*::/o || $symbol =~ /::\*/o ) - && $symbol !~ /^\*/o - && $symbol !~ /operator\*$/o ) - { - print STDERR "regwildcard:" . $symbol . "\n" if $debug; - $symbol =~ s/\*/\.\*/go; # change * to .* (regexp) - $regwildcards_ref->[ $#{$regwildcards_ref} + 1 ] = $symbol; - } - else - { - print STDERR "exact:" . $symbol . "\n" if $debug; - $exacts_ref->{ $symbol } = 1; - } - $i++; - } -} diff --git a/kde/admin/oldinclude.m4.in b/kde/admin/oldinclude.m4.in deleted file mode 100644 index 0ed7bcf..0000000 --- a/kde/admin/oldinclude.m4.in +++ /dev/null @@ -1,192 +0,0 @@ -### -*- autoconf -*- - -dnl This file is part of the KDE libraries/packages -dnl Copyright (C) 1997 Janos Farkas (chexum@shadow.banki.hu) -dnl (C) 1997,98,99 Stephan Kulow (coolo@kde.org) - -dnl This file is free software; you can redistribute it and/or -dnl modify it under the terms of the GNU Library General Public -dnl License as published by the Free Software Foundation; either -dnl version 2 of the License, or (at your option) any later version. - -dnl This library is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl Library General Public License for more details. - -dnl You should have received a copy of the GNU Library General Public License -dnl along with this library; see the file COPYING.LIB. If not, write to -dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -dnl Boston, MA 02110-1301, USA. - -AC_DEFUN([KDE_CHECK_MICO], -[ -AC_REQUIRE([KDE_CHECK_LIBDL]) -AC_REQUIRE([KDE_MISC_TESTS]) -AC_MSG_CHECKING(for MICO) - -if test -z "$MICODIR"; then - kde_micodir=/usr/local - else - kde_micodir="$MICODIR" -fi - -AC_ARG_WITH(micodir, - [ --with-micodir=micodir where mico is installed ], - kde_micodir=$withval, - kde_micodir=$kde_micodir -) - -AC_CACHE_VAL(kde_cv_mico_incdir, -[ - mico_incdirs="$kde_micodir/include /usr/include /usr/local/include /usr/local/include /opt/local/include $kde_extra_includes" -AC_FIND_FILE(CORBA.h, $mico_incdirs, kde_cv_mico_incdir) - -]) -kde_micodir=`echo $kde_cv_mico_incdir | sed -e 's#/include##'` - -if test ! -r $kde_micodir/include/CORBA.h; then - AC_MSG_ERROR([No CORBA.h found, specify another micodir]) -fi - -AC_MSG_RESULT($kde_micodir) - -MICO_INCLUDES=-I$kde_micodir/include -AC_SUBST(MICO_INCLUDES) -MICO_LDFLAGS=-L$kde_micodir/lib -AC_SUBST(MICO_LDFLAGS) -micodir=$kde_micodir -AC_SUBST(micodir) - -AC_MSG_CHECKING([for MICO version]) -AC_CACHE_VAL(kde_cv_mico_version, -[ -AC_LANG_C -cat >conftest.$ac_ext <<EOF -#include <stdio.h> -#include <mico/version.h> -int main() { - - printf("MICO_VERSION=%s\n",MICO_VERSION); - return (0); -} -EOF -ac_compile='${CC-gcc} $CFLAGS $MICO_INCLUDES conftest.$ac_ext -o conftest' -if AC_TRY_EVAL(ac_compile); then - if eval `./conftest 2>&5`; then - kde_cv_mico_version=$MICO_VERSION - else - AC_MSG_ERROR([your system is not able to execute a small application to - find MICO version! Check $kde_micodir/include/mico/version.h]) - fi -else - AC_MSG_ERROR([your system is not able to compile a small application to - find MICO version! Check $kde_micodir/include/mico/version.h]) -fi -]) - -dnl installed MICO version -mico_v_maj=`echo $kde_cv_mico_version | sed -e 's/^\(.*\)\..*\..*$/\1/'` -mico_v_mid=`echo $kde_cv_mico_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'` -mico_v_min=`echo $kde_cv_mico_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'` - -if test "x$1" = "x"; then - req_version="2.3.0" -else - req_version=$1 -fi - -dnl required MICO version -req_v_maj=`echo $req_version | sed -e 's/^\(.*\)\..*\..*$/\1/'` -req_v_mid=`echo $req_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'` -req_v_min=`echo $req_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'` - -if test "$mico_v_maj" -lt "$req_v_maj" || \ - ( test "$mico_v_maj" -eq "$req_v_maj" && \ - test "$mico_v_mid" -lt "$req_v_mid" ) || \ - ( test "$mico_v_mid" -eq "$req_v_mid" && \ - test "$mico_v_min" -lt "$req_v_min" ) - -then - AC_MSG_ERROR([found MICO version $kde_cv_mico_version but version $req_version \ -at least is required. You should upgrade MICO.]) -else - AC_MSG_RESULT([$kde_cv_mico_version (minimum version $req_version, ok)]) -fi - -LIBMICO="-lmico$kde_cv_mico_version $LIBCRYPT $LIBSOCKET $LIBDL" -AC_SUBST(LIBMICO) -if test -z "$IDL"; then - IDL='$(kde_bindir)/cuteidl' -fi -AC_SUBST(IDL) -IDL_DEPENDENCIES='$(kde_includes)/CUTE.h' -AC_SUBST(IDL_DEPENDENCIES) - -idldir="\$(includedir)/idl" -AC_SUBST(idldir) - -]) - -AC_DEFUN([KDE_CHECK_MINI_STL], -[ -AC_REQUIRE([KDE_CHECK_MICO]) - -AC_MSG_CHECKING(if we use mico's mini-STL) -AC_CACHE_VAL(kde_cv_have_mini_stl, -[ -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -kde_save_cxxflags="$CXXFLAGS" -CXXFLAGS="$CXXFLAGS $MICO_INCLUDES" -AC_TRY_COMPILE( -[ -#include <mico/config.h> -], -[ -#ifdef HAVE_MINI_STL -#error "nothing" -#endif -], -kde_cv_have_mini_stl=no, -kde_cv_have_mini_stl=yes) -CXXFLAGS="$kde_save_cxxflags" -AC_LANG_RESTORE -]) - -if test "x$kde_cv_have_mini_stl" = "xyes"; then - AC_MSG_RESULT(yes) - $1 -else - AC_MSG_RESULT(no) - $2 -fi -]) - -]) - -AC_DEFUN([KDE_CHECK_ANSI], -[ -]) - -AC_DEFUN([KDE_CHECK_INSURE], -[ - AC_ARG_ENABLE(insure, [ --enable-insure use insure++ for debugging [default=no]], - [ - if test $enableval = "no"; dnl - then ac_use_insure="no" - else ac_use_insure="yes" - fi - ], [ac_use_insure="no"]) - - AC_MSG_CHECKING(if we will use Insure++ to debug) - AC_MSG_RESULT($ac_use_insure) - if test "$ac_use_insure" = "yes"; dnl - then CC="insure"; CXX="insure"; dnl CFLAGS="$CLAGS -fno-rtti -fno-exceptions "???? - fi -]) - -AC_DEFUN([KDE_CHECK_NEWLIBS], -[ - -]) diff --git a/kde/admin/pkg.m4.in b/kde/admin/pkg.m4.in deleted file mode 100644 index f2bfc2d..0000000 --- a/kde/admin/pkg.m4.in +++ /dev/null @@ -1,57 +0,0 @@ - -dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not) -dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page -dnl also defines GSTUFF_PKG_ERRORS on error -AC_DEFUN([PKG_CHECK_MODULES], [ - succeeded=no - - if test -z "$PKG_CONFIG"; then - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) - fi - - if test "$PKG_CONFIG" = "no" ; then - echo "*** The pkg-config script could not be found. Make sure it is" - echo "*** in your path, or set the PKG_CONFIG environment variable" - echo "*** to the full path to pkg-config." - echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." - else - PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - AC_MSG_CHECKING(for $2) - - if $PKG_CONFIG --exists "$2" ; then - AC_MSG_RESULT(yes) - succeeded=yes - - AC_MSG_CHECKING($1_CFLAGS) - $1_CFLAGS=`$PKG_CONFIG --cflags "$2"` - AC_MSG_RESULT($$1_CFLAGS) - - AC_MSG_CHECKING($1_LIBS) - $1_LIBS=`$PKG_CONFIG --libs "$2"` - AC_MSG_RESULT($$1_LIBS) - else - $1_CFLAGS="" - $1_LIBS="" - ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` - ifelse([$4], ,echo $$1_PKG_ERRORS,) - fi - - AC_SUBST($1_CFLAGS) - AC_SUBST($1_LIBS) - else - echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." - echo "*** See http://www.freedesktop.org/software/pkgconfig" - fi - fi - - if test $succeeded = yes; then - ifelse([$3], , :, [$3]) - else - ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4]) - fi -]) - - diff --git a/kde/admin/ylwrap b/kde/admin/ylwrap deleted file mode 100755 index 102bd89..0000000 --- a/kde/admin/ylwrap +++ /dev/null @@ -1,223 +0,0 @@ -#! /bin/sh -# ylwrap - wrapper for lex/yacc invocations. - -scriptversion=2005-05-14.22 - -# Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# Written by Tom Tromey <tromey@cygnus.com>. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to <bug-automake@gnu.org> or send patches to -# <automake-patches@gnu.org>. - -case "$1" in - '') - echo "$0: No files given. Try \`$0 --help' for more information." 1>&2 - exit 1 - ;; - --basedir) - basedir=$2 - shift 2 - ;; - -h|--h*) - cat <<\EOF -Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]... - -Wrapper for lex/yacc invocations, renaming files as desired. - - INPUT is the input file - OUTPUT is one file PROG generates - DESIRED is the file we actually want instead of OUTPUT - PROGRAM is program to run - ARGS are passed to PROG - -Any number of OUTPUT,DESIRED pairs may be used. - -Report bugs to <bug-automake@gnu.org>. -EOF - exit $? - ;; - -v|--v*) - echo "ylwrap $scriptversion" - exit $? - ;; -esac - - -# The input. -input="$1" -shift -case "$input" in - [\\/]* | ?:[\\/]*) - # Absolute path; do nothing. - ;; - *) - # Relative path. Make it absolute. - input="`pwd`/$input" - ;; -esac - -pairlist= -while test "$#" -ne 0; do - if test "$1" = "--"; then - shift - break - fi - pairlist="$pairlist $1" - shift -done - -# The program to run. -prog="$1" -shift -# Make any relative path in $prog absolute. -case "$prog" in - [\\/]* | ?:[\\/]*) ;; - *[\\/]*) prog="`pwd`/$prog" ;; -esac - -# FIXME: add hostname here for parallel makes that run commands on -# other machines. But that might take us over the 14-char limit. -dirname=ylwrap$$ -trap "cd `pwd`; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15 -mkdir $dirname || exit 1 - -cd $dirname - -case $# in - 0) $prog "$input" ;; - *) $prog "$@" "$input" ;; -esac -ret=$? - -if test $ret -eq 0; then - set X $pairlist - shift - first=yes - # Since DOS filename conventions don't allow two dots, - # the DOS version of Bison writes out y_tab.c instead of y.tab.c - # and y_tab.h instead of y.tab.h. Test to see if this is the case. - y_tab_nodot="no" - if test -f y_tab.c || test -f y_tab.h; then - y_tab_nodot="yes" - fi - - # The directory holding the input. - input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'` - # Quote $INPUT_DIR so we can use it in a regexp. - # FIXME: really we should care about more than `.' and `\'. - input_rx=`echo "$input_dir" | sed 's,\\\\,\\\\\\\\,g;s,\\.,\\\\.,g'` - - while test "$#" -ne 0; do - from="$1" - # Handle y_tab.c and y_tab.h output by DOS - if test $y_tab_nodot = "yes"; then - if test $from = "y.tab.c"; then - from="y_tab.c" - else - if test $from = "y.tab.h"; then - from="y_tab.h" - fi - fi - fi - if test -f "$from"; then - # If $2 is an absolute path name, then just use that, - # otherwise prepend `../'. - case "$2" in - [\\/]* | ?:[\\/]*) target="$2";; - *) target="../$2";; - esac - - # We do not want to overwrite a header file if it hasn't - # changed. This avoid useless recompilations. However the - # parser itself (the first file) should always be updated, - # because it is the destination of the .y.c rule in the - # Makefile. Divert the output of all other files to a temporary - # file so we can compare them to existing versions. - if test $first = no; then - realtarget="$target" - target="tmp-`echo $target | sed s/.*[\\/]//g`" - fi - # Edit out `#line' or `#' directives. - # - # We don't want the resulting debug information to point at - # an absolute srcdir; it is better for it to just mention the - # .y file with no path. - # - # We want to use the real output file name, not yy.lex.c for - # instance. - # - # We want the include guards to be adjusted too. - FROM=`echo "$from" | sed \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ - -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'` - TARGET=`echo "$2" | sed \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ - -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'` - - sed -e "/^#/!b" -e "s,$input_rx,," -e "s,$from,$2," \ - -e "s,$FROM,$TARGET," "$from" >"$target" || ret=$? - - # Check whether header files must be updated. - if test $first = no; then - if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then - echo "$2" is unchanged - rm -f "$target" - else - echo updating "$2" - mv -f "$target" "$realtarget" - fi - fi - else - # A missing file is only an error for the first file. This - # is a blatant hack to let us support using "yacc -d". If -d - # is not specified, we don't want an error when the header - # file is "missing". - if test $first = yes; then - ret=1 - fi - fi - shift - shift - first=no - done -else - ret=$? -fi - -# Remove the directory. -cd .. -rm -rf $dirname - -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/kde/configure.in.in b/kde/configure.in.in deleted file mode 100644 index d341737..0000000 --- a/kde/configure.in.in +++ /dev/null @@ -1,13 +0,0 @@ -#MIN_CONFIG - -KDE_CHECK_HEADERS(X11/extensions/dpms.h, - AC_DEFINE(HAVE_DPMS, 1, [Set if DPMS is available]),, - [#include <X11/Xlib.h>]) - -LIB_DAPI='$(top_builddir)/../lib/libdapi.la' -AC_SUBST(LIB_DAPI) -dapi_includes='-I$(top_builddir)/../include' -all_includes="$dapi_includes $all_includes" - -CFLAGS="$CFLAGS -Werror" -CXXFLAGS="$CXXFLAGS $KDE_DEFAULT_CXXFLAGS -DQT_CLEAN_NAMESPACE -Werror" diff --git a/kde/daemon/.cvsignore b/kde/daemon/.cvsignore deleted file mode 100644 index f8b3a51..0000000 --- a/kde/daemon/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -.deps -.libs -Makefile -Makefile.in -dapi_kde -*.moc - diff --git a/kde/daemon/Makefile.am b/kde/daemon/Makefile.am deleted file mode 100644 index bbdc52c..0000000 --- a/kde/daemon/Makefile.am +++ /dev/null @@ -1,9 +0,0 @@ -bin_PROGRAMS = dapi_kde - -dapi_kde_SOURCES = main.cpp handler.cpp kabchandler.cpp -dapi_kde_LDADD = $(LIB_KABC) $(LIB_KIO) $(LIB_DAPI) -dapi_kde_LDFLAGS = $(all_libraries) - -METASOURCES = AUTO - -INCLUDES = $(all_includes) diff --git a/kde/daemon/handler.cpp b/kde/daemon/handler.cpp deleted file mode 100644 index cd8c564..0000000 --- a/kde/daemon/handler.cpp +++ /dev/null @@ -1,633 +0,0 @@ -#include <config.h> - -#include "handler.h" -#include "handler.moc" - -#include "kabchandler.h" - -#include <dcopref.h> -#include <qsocketnotifier.h> -#include <kapplication.h> -#include <kdebug.h> -#include <kglobalsettings.h> -#include <kio/netaccess.h> -#include <kprocess.h> -#include <krun.h> -#include <stdlib.h> -#include <ktempfile.h> - -#include <X11/Xlib.h> -#ifdef HAVE_DPMS -#include <X11/extensions/dpms.h> -#endif - -KDapiHandler::KDapiHandler() - { - setupSocket(); - kabchandler = new KABCHandler(this); - } - -KDapiHandler::~KDapiHandler() - { - while( !connections.isEmpty()) - closeSocket( *connections.begin()); - } - -void KDapiHandler::setupSocket() - { - mainsocket = dapi_bindSocket(); - if( mainsocket < 0 ) - return; - QSocketNotifier* notif = new QSocketNotifier( mainsocket, QSocketNotifier::Read, this ); - connect( notif, SIGNAL( activated( int )), SLOT( processMainSocketData())); - } - -void KDapiHandler::processMainSocketData() - { - DapiConnection* conn = dapi_acceptSocket( mainsocket ); - if( conn == NULL ) - return; - ConnectionData data; - data.conn = conn; - data.notifier = new QSocketNotifier( dapi_socket( data.conn ), QSocketNotifier::Read, this ); - connect( data.notifier, SIGNAL( activated( int )), SLOT( processSocketData( int ))); - data.screensaver_suspend = false; - connections.append( data ); - } - -void KDapiHandler::processSocketData( int sock ) - { - for( ConnectionList::Iterator it = connections.begin(); - it != connections.end(); - ++it ) - if( dapi_socket((*it).conn ) == sock ) - { - processCommand( *it ); - break; - } - } - -void KDapiHandler::processCommand( ConnectionData& conn ) - { - int command; - int seq; - if( !dapi_readCommand( conn.conn, &command, &seq )) - { - closeSocket( conn ); - return; - } - switch( command ) - { - case DAPI_COMMAND_INIT: - processCommandInit( conn, seq ); - return; - case DAPI_COMMAND_CAPABILITIES: - processCommandCapabilities( conn, seq ); - return; - case DAPI_COMMAND_OPENURL: - processCommandOpenUrl( conn, seq ); - return; - case DAPI_COMMAND_EXECUTEURL: - processCommandExecuteUrl( conn, seq ); - return; - case DAPI_COMMAND_BUTTONORDER: - processCommandButtonOrder( conn, seq ); - return; - case DAPI_COMMAND_RUNASUSER: - processCommandRunAsUser( conn, seq ); - return; - case DAPI_COMMAND_SUSPENDSCREENSAVING: - processCommandSuspendScreensaving( conn, seq ); - return; - case DAPI_COMMAND_MAILTO: - processCommandMailTo( conn, seq ); - return; - case DAPI_COMMAND_LOCALFILE: - processCommandLocalFile( conn, seq ); - return; - case DAPI_COMMAND_UPLOADFILE: - processCommandUploadFile( conn, seq ); - return; - case DAPI_COMMAND_REMOVETEMPORARYLOCALFILE: - processCommandRemoveTemporaryLocalFile( conn, seq ); - return; - case DAPI_COMMAND_ADDRESSBOOKLIST: - processCommandAddressBookList( conn, seq ); - return; - case DAPI_COMMAND_ADDRESSBOOKGETNAME: - processCommandAddressBookGetName( conn, seq ); - return; - case DAPI_COMMAND_ADDRESSBOOKGETEMAILS: - processCommandAddressBookGetEmails( conn, seq ); - return; - case DAPI_COMMAND_ADDRESSBOOKFINDBYNAME: - processCommandAddressBookFindByName( conn, seq ); - return; - case DAPI_COMMAND_ADDRESSBOOKOWNER: - processCommandAddressBookOwner( conn, seq ); - return; - case DAPI_COMMAND_ADDRESSBOOKGETVCARD30: - processCommandAddressBookGetVCard30( conn, seq ); - return; - } - } - -void KDapiHandler::closeSocket( ConnectionData& conn ) - { - dapi_close( conn.conn ); - delete conn.notifier; - for( ConnectionList::Iterator it = connections.begin(); - it != connections.end(); - ++it ) - if( (*it).conn == conn.conn ) - { - connections.remove( it ); - break; - } - updateScreensaving(); - } - -void KDapiHandler::processCommandInit( ConnectionData& conn, int seq ) - { - if( !dapi_readCommandInit( conn.conn )) - { - closeSocket( conn ); - return; - } - dapi_writeReplyInit( conn.conn, seq, 1 ); - } - -/* TODO */ -static int caps[] = - { - DAPI_COMMAND_INIT, - DAPI_COMMAND_CAPABILITIES, - DAPI_COMMAND_OPENURL, - DAPI_COMMAND_EXECUTEURL, - DAPI_COMMAND_BUTTONORDER, - DAPI_COMMAND_RUNASUSER, - DAPI_COMMAND_SUSPENDSCREENSAVING, - DAPI_COMMAND_MAILTO, - DAPI_COMMAND_LOCALFILE, - DAPI_COMMAND_UPLOADFILE, - DAPI_COMMAND_REMOVETEMPORARYLOCALFILE - }; - -void KDapiHandler::processCommandCapabilities( ConnectionData& conn, int seq ) - { - intarr capabilities; - if( !dapi_readCommandInit( conn.conn )) - { - closeSocket( conn ); - return; - } - capabilities.count = sizeof( caps ) / sizeof( caps[ 0 ] ); - capabilities.data = caps; - dapi_writeReplyCapabilities( conn.conn, seq, capabilities, 1 ); - } - -void KDapiHandler::processCommandOpenUrl( ConnectionData& conn, int seq ) - { - char* url; - DapiWindowInfo winfo; - if( !dapi_readCommandOpenUrl( conn.conn, &url, &winfo )) - { - closeSocket( conn ); - return; - } - kapp->invokeBrowser( url, makeStartupInfo( winfo )); - dapi_writeReplyOpenUrl( conn.conn, seq, 1 ); - free( url ); - dapi_freeWindowInfo( winfo ); - } - -void KDapiHandler::processCommandExecuteUrl( ConnectionData& conn, int seq ) - { - char* url; - DapiWindowInfo winfo; - if( !dapi_readCommandExecuteUrl( conn.conn, &url, &winfo )) - { - closeSocket( conn ); - return; - } - new KRun( url ); // TODO startup info - dapi_writeReplyExecuteUrl( conn.conn, seq, 1 ); - free( url ); - dapi_freeWindowInfo( winfo ); - } - -void KDapiHandler::processCommandButtonOrder( ConnectionData& conn, int seq ) - { - if( !dapi_readCommandButtonOrder( conn.conn )) - { - closeSocket( conn ); - return; - } - int order = KGlobalSettings::buttonLayout(); - // TODO KDE has actually more layouts, but I have no idea what they're supposed to mean - dapi_writeReplyButtonOrder( conn.conn, seq, order == 1 ? 2 : 1 ); - } - -void KDapiHandler::processCommandRunAsUser( ConnectionData& conn, int seq ) - { - char* user; - char* command; - DapiWindowInfo winfo; - if( !dapi_readCommandRunAsUser( conn.conn, &user, &command, &winfo )) - { - closeSocket( conn ); - return; - } - KProcess proc; // TODO startup info - proc.setUseShell( true ); // TODO quoting - proc << "kdesu"; - if( user[ 0 ] != '\0' ) - proc << "-u" << user; - proc << "--" << command; - bool ret = proc.start( KProcess::DontCare ); - dapi_writeReplyRunAsUser( conn.conn, seq, ret ? 1 : 0 ); - free( user ); - free( command ); - dapi_freeWindowInfo( winfo ); - } - -void KDapiHandler::processCommandSuspendScreensaving( ConnectionData& conn, int seq ) - { - int suspend; - if( !dapi_readCommandSuspendScreensaving( conn.conn, &suspend )) - { - closeSocket( conn ); - return; - } - conn.screensaver_suspend = suspend; - updateScreensaving(); - dapi_writeReplySuspendScreensaving( conn.conn, seq, 1 ); - } - -void KDapiHandler::updateScreensaving() - { - bool suspend = false; - for( ConnectionList::ConstIterator it = connections.begin(); - it != connections.end(); - ++it ) - { - if( (*it).screensaver_suspend ) - { - suspend = true; - break; - } - } -#ifdef HAVE_DPMS - if( suspend ) - DPMSDisable( qt_xdisplay()); - else - DPMSEnable( qt_xdisplay()); -#endif - DCOPRef ref( "kdesktop", "KScreensaverIface" ); - ref.call( "enable", !suspend ); - } - -void KDapiHandler::processCommandMailTo( ConnectionData& conn, int seq ) - { - char* subject; - char* body; - char* to; - char* cc; - char* bcc; - stringarr attachments; - DapiWindowInfo winfo; - if( !dapi_readCommandMailTo( conn.conn, &subject, &body, &to, &cc, &bcc, &attachments, &winfo )) - { - closeSocket( conn ); - return; - } - QStringList attachurls; - for( int i = 0; - i < attachments.count; - ++i ) - attachurls.append( QString::fromUtf8( attachments.data[ i ] )); - kapp->invokeMailer( QString::fromUtf8( to ), QString::fromUtf8( cc ), QString::fromUtf8( bcc ), - QString::fromUtf8( subject ), QString::fromUtf8( body ), QString(), attachurls, makeStartupInfo( winfo )); - dapi_writeReplyMailTo( conn.conn, seq, 1 ); - free( subject ); - free( body ); - free( to ); - free( cc ); - free( bcc ); - dapi_freestringarr( attachments ); - dapi_freeWindowInfo( winfo ); - } - -static QValueList< KTempFile* > tempfiles; - -static void removeTempFile( const QString file ) - { - for( QValueList< KTempFile* >::Iterator it = tempfiles.begin(); - it != tempfiles.end(); - ++it ) - if( (*it)->name() == file ) - { - delete *it; - tempfiles.remove( it ); - return; - } - } - -void KDapiHandler::processCommandLocalFile( ConnectionData& conn, int seq ) - { - char* file; - char* local; - int allow_download; - DapiWindowInfo winfo; - if( !dapi_readCommandLocalFile( conn.conn, &file, &local, &allow_download, &winfo )) - { - closeSocket( conn ); - return; - } - KURL url = KURL::fromPathOrURL( QString::fromUtf8( file )); - free( file ); - QString result; - if( !url.isValid()) - ; // result is empty - else if( url.isLocalFile()) - result = url.path(); - else if( allow_download ) - { - QString target = QString::fromUtf8( local ); - KTempFile* tmp = NULL; - KURL dest; - if( !target.isEmpty()) - dest.setPath( target ); - else - { - tmp = new KTempFile; - dest.setPath( tmp->name()); - tempfiles.append( tmp ); - } - KIO::FileCopyJob* job = KIO::file_copy( url, dest, -1, true, false ); - KDapiFakeWidget* widget = winfo.window != 0 ? new KDapiFakeWidget( winfo.window ) : NULL; - job->setWindow( widget ); - KDapiDownloadJob* upload = new KDapiDownloadJob( job, conn.conn, seq, widget ); - connect( job, SIGNAL( result( KIO::Job* )), upload, SLOT( done())); - dapi_freeWindowInfo( winfo ); - // will write reply asynchronously - return; - } - dapi_writeReplyLocalFile( conn.conn, seq, result.utf8()); - dapi_freeWindowInfo( winfo ); - } - -void KDapiDownloadJob::done() - { - if( job->error() == 0 ) - dapi_writeReplyLocalFile( conn, seq, job->destURL().path().utf8()); - else - dapi_writeReplyLocalFile( conn, seq, NULL ); - delete widget; - deleteLater(); - } - -void KDapiHandler::processCommandUploadFile( ConnectionData& conn, int seq ) - { - char* local; - char* file; - int remove_local; - DapiWindowInfo winfo; - if( !dapi_readCommandUploadFile( conn.conn, &local, &file, &remove_local, &winfo )) - { - closeSocket( conn ); - return; - } - KURL url = KURL::fromPathOrURL( QString::fromUtf8( file )); - QString localfile = QString::fromUtf8( local ); - free( local ); - free( file ); - int ok = 0; - if( !url.isValid()) - ok = 0; - else if( url.isLocalFile() && url.path() == localfile ) - ok = 1; // no-op - else - { - KURL src; - src.setPath( localfile ); - KIO::FileCopyJob* job = KIO::file_copy( src, url, -1, true, false ); - KDapiFakeWidget* widget = winfo.window != 0 ? new KDapiFakeWidget( winfo.window ) : NULL; - job->setWindow( widget ); - KDapiUploadJob* upload = new KDapiUploadJob( job, conn.conn, seq, remove_local, widget ); - connect( job, SIGNAL( result( KIO::Job* )), upload, SLOT( done())); - dapi_freeWindowInfo( winfo ); - // will write reply asynchronously - return; - } - dapi_writeReplyUploadFile( conn.conn, seq, ok ); - dapi_freeWindowInfo( winfo ); - } - -void KDapiUploadJob::done() - { - // TODO this apparently returns success even with e.g. http - check somehow - dapi_writeReplyUploadFile( conn, seq, job->error() == 0 ); - if( job->error() == 0 && remove_local ) - removeTempFile( job->srcURL().path()); - delete widget; - } - -void KDapiHandler::processCommandRemoveTemporaryLocalFile( ConnectionData& conn, int seq ) - { - char* file; - if( !dapi_readCommandRemoveTemporaryLocalFile( conn.conn, &file )) - { - closeSocket( conn ); - return; - } - removeTempFile( QString::fromUtf8( file )); - dapi_writeReplyRemoveTemporaryLocalFile( conn.conn, seq, 1 ); - free( file ); - } - -void KDapiHandler::processCommandAddressBookList( ConnectionData& conn, int seq ) - { - if( !dapi_readCommandAddressBookList( conn.conn ) ) - { - closeSocket( conn ); - return; - } - - QStringList kabcUIDs = kabchandler->listUIDs(); - - stringarr idList; - idList.data = 0; - idList.count = 0; - if (kabcUIDs.count() > 0) - { - idList.data = (char**) malloc( sizeof( char* ) * (kabcUIDs.count() + 1 ) ); - QStringList::const_iterator it = kabcUIDs.begin(); - QStringList::const_iterator endIt = kabcUIDs.end(); - for ( uint i = 0; it != endIt; ++it, ++i ) - { - QCString string = (*it).utf8(); - idList.data[i] = strndup( string.data(), string.count() ); - } - idList.data[kabcUIDs.count()] = NULL; - idList.count = kabcUIDs.count(); - } - - dapi_writeReplyAddressBookList( conn.conn, seq, idList, kabcUIDs.count() ); - - dapi_freestringarr( idList ); - } - -void KDapiHandler::processCommandAddressBookGetName( ConnectionData& conn, int seq ) - { - char* id; - if( !dapi_readCommandAddressBookGetName( conn.conn, &id ) ) - { - closeSocket( conn ); - return; - } - - QCString firstname; - QCString lastname; - QCString fullname; - - bool ok = kabchandler->getNames( QString::fromUtf8( id ), - firstname, lastname, fullname ); - free( id ); - - dapi_writeReplyAddressBookGetName( conn.conn, seq, firstname.data(), lastname.data(), - fullname.data(), ok ); - - } - -void KDapiHandler::processCommandAddressBookGetEmails( ConnectionData& conn, int seq ) - { - char* id; - if( !dapi_readCommandAddressBookGetEmails( conn.conn, &id ) ) - { - closeSocket( conn ); - return; - } - - QStringList emails; - bool ok = kabchandler->getEmails( QString::fromUtf8( id ), emails ); - - free( id ); - - stringarr emailList; - emailList.data = 0; - emailList.count = 0; - if (emails.count() > 0) - { - emailList.data = (char**) malloc( sizeof( char* ) * ( emails.count() + 1 ) ); - QStringList::const_iterator it = emails.begin(); - QStringList::const_iterator endIt = emails.end(); - for ( uint i = 0; it != endIt; ++it, ++i ) - { - QCString string = (*it).utf8(); - emailList.data[i] = strdup( string.data() ); - } - emailList.data[emails.count()] = NULL; - emailList.count = emails.count(); - } - - dapi_writeReplyAddressBookGetEmails( conn.conn, seq, emailList, ok ); - - dapi_freestringarr( emailList ); - } - -void KDapiHandler::processCommandAddressBookFindByName( ConnectionData& conn, int seq ) - { - char* id; - if( !dapi_readCommandAddressBookFindByName( conn.conn, &id ) ) - { - closeSocket( conn ); - return; - } - - QStringList kabcUIDs = kabchandler->findByName( QString::fromUtf8( id ) ); - - free( id ); - - stringarr idList; - idList.data = 0; - idList.count = 0; - if (kabcUIDs.count() > 0) - { - idList.data = (char**) malloc( sizeof( char* ) * (kabcUIDs.count() + 1 ) ); - QStringList::const_iterator it = kabcUIDs.begin(); - QStringList::const_iterator endIt = kabcUIDs.end(); - for ( uint i = 0; it != endIt; ++it, ++i ) - { - QCString string = (*it).utf8(); - idList.data[i] = strndup( string.data(), string.count() ); - } - idList.data[kabcUIDs.count()] = NULL; - idList.count = kabcUIDs.count(); - } - - dapi_writeReplyAddressBookFindByName( conn.conn, seq, idList, kabcUIDs.count() ); - - dapi_freestringarr( idList ); - } - -void KDapiHandler::processCommandAddressBookOwner( ConnectionData& conn, int seq ) - { - if( !dapi_readCommandAddressBookOwner( conn.conn ) ) - { - closeSocket( conn ); - return; - } - - QString ownerUID = kabchandler->owner(); - - bool ok = !ownerUID.isEmpty(); - - dapi_writeReplyAddressBookOwner( conn.conn, seq, (ok ? ownerUID.utf8().data() : 0), ok ); - } - -void KDapiHandler::processCommandAddressBookGetVCard30( ConnectionData& conn, int seq ) - { - char* id; - if( !dapi_readCommandAddressBookGetVCard30( conn.conn, &id ) ) - { - closeSocket( conn ); - return; - } - - QString vcard = kabchandler->vcard30( QString::fromUtf8( id ) ); - - free( id ); - - bool ok = !vcard.isEmpty(); - - dapi_writeReplyAddressBookGetVCard30( conn.conn, seq, (ok ? vcard.utf8().data() : 0), ok ); - - } - -QCString KDapiHandler::makeStartupInfo( const DapiWindowInfo& winfo ) - { - WId window = winfo.window; - if( window != 0 ) - { - // TODO for the window !=0 case KStartupInfo API needs to be extended to accept - // external timestamp for creating new startup info - kapp->updateUserTimestamp(); - } - else - { - kapp->updateUserTimestamp(); - } - return KStartupInfo::createNewStartupId(); - } - -// some KDE APIs accept only QWidget* instead of WId -KDapiFakeWidget::KDapiFakeWidget( WId window ) - { - create( window, false ); // don't init - } - -KDapiFakeWidget::~KDapiFakeWidget() - { - destroy( false ); // no cleanup - } diff --git a/kde/daemon/handler.h b/kde/daemon/handler.h deleted file mode 100644 index 516b517..0000000 --- a/kde/daemon/handler.h +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef HANDLER_H -#define HANDLER_H - -#include <qobject.h> -#include <qmap.h> -#include <kio/job.h> -#include <qwidget.h> - -#include <dapi/comm.h> - -class KABCHandler; -class QSocketNotifier; - -class KDapiHandler - : public QObject - { - Q_OBJECT - public: - KDapiHandler(); - virtual ~KDapiHandler(); - private slots: - void processMainSocketData(); - void processSocketData( int sock ); - private: - struct ConnectionData - { - DapiConnection* conn; - QSocketNotifier* notifier; - bool screensaver_suspend; - }; - void setupSocket(); - void closeSocket( ConnectionData& conn ); - void processCommand( ConnectionData& conn ); - void processCommandInit( ConnectionData& conn, int seq ); - void processCommandCapabilities( ConnectionData& conn, int seq ); - void processCommandOpenUrl( ConnectionData& conn, int seq ); - void processCommandExecuteUrl( ConnectionData& conn, int seq ); - void processCommandButtonOrder( ConnectionData& conn, int seq ); - void processCommandRunAsUser( ConnectionData& conn, int seq ); - void processCommandSuspendScreensaving( ConnectionData& conn, int seq ); - void processCommandMailTo( ConnectionData& conn, int seq ); - void processCommandLocalFile( ConnectionData& conn, int seq ); - void processCommandUploadFile( ConnectionData& conn, int seq ); - void processCommandRemoveTemporaryLocalFile( ConnectionData& conn, int seq ); - void processCommandAddressBookList( ConnectionData& conn, int seq ); - void processCommandAddressBookGetName( ConnectionData& conn, int seq ); - void processCommandAddressBookGetEmails( ConnectionData& conn, int seq ); - void processCommandAddressBookFindByName( ConnectionData& conn, int seq ); - void processCommandAddressBookOwner( ConnectionData& conn, int seq ); - void processCommandAddressBookGetVCard30( ConnectionData& conn, int seq ); - void updateScreensaving(); - static QCString makeStartupInfo( const DapiWindowInfo& winfo ); - int mainsocket; - typedef QValueList< ConnectionData > ConnectionList; - ConnectionList connections; - KABCHandler* kabchandler; - }; - -class KDapiFakeWidget - : public QWidget - { - Q_OBJECT - public: - KDapiFakeWidget( WId window ); - virtual ~KDapiFakeWidget(); - }; - -class KDapiDownloadJob - : public QObject - { - Q_OBJECT - public: - KDapiDownloadJob( KIO::FileCopyJob* j, DapiConnection* c, int s, QWidget* w ); - private slots: - void done(); - private: - KIO::FileCopyJob* job; - DapiConnection* conn; - int seq; - QWidget* widget; - }; - -class KDapiUploadJob - : public QObject - { - Q_OBJECT - public: - KDapiUploadJob( KIO::FileCopyJob* j, DapiConnection* c, int s, bool r, QWidget* w ); - private slots: - void done(); - private: - KIO::FileCopyJob* job; - DapiConnection* conn; - int seq; - bool remove_local; - QWidget* widget; - }; - -inline -KDapiDownloadJob::KDapiDownloadJob( KIO::FileCopyJob* j, DapiConnection* c, int s, QWidget* w ) - : job( j ), conn( c ), seq( s ), widget( w ) - { - } - -inline -KDapiUploadJob::KDapiUploadJob( KIO::FileCopyJob* j, DapiConnection* c, int s, bool r, QWidget* w ) - : job( j ), conn( c ), seq( s ), remove_local( r ), widget( w ) - { - } - -#endif diff --git a/kde/daemon/kabchandler.cpp b/kde/daemon/kabchandler.cpp deleted file mode 100644 index 2016c53..0000000 --- a/kde/daemon/kabchandler.cpp +++ /dev/null @@ -1,159 +0,0 @@ -/****************************************************************************** - Copyright 2006, Kevin Krammer <kevin.krammer@gmx.at> - All Rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -// local includes -#include "kabchandler.h" - -// KABC includes -#include <kabc/addressee.h> -#include <kabc/addresseelist.h> -#include <kabc/stdaddressbook.h> -#include <kabc/vcardconverter.h> - -using namespace KABC; - -/////////////////////////////////////////////////////////////////////////////// - -KABCHandler::KABCHandler(QObject* parent, const char* name) - : QObject(parent, name), - m_addressBook(0), - m_vcardConverter(0) -{ - m_addressBook = StdAddressBook::self(true); - QObject::connect(m_addressBook, SIGNAL(addressBookChanged(AddressBook*)), - this, SLOT(slotAddressBookChanged())); - - m_vcardConverter = new VCardConverter(); -} - -/////////////////////////////////////////////////////////////////////////////// - -KABCHandler::~KABCHandler() -{ - delete m_vcardConverter; -} - -/////////////////////////////////////////////////////////////////////////////// - -QStringList KABCHandler::listUIDs() const -{ - AddressBook::ConstIterator it = m_addressBook->begin(); - AddressBook::ConstIterator endIt = m_addressBook->end(); - - QStringList uids; - for (; it != endIt; ++it) - { - uids << (*it).uid(); - } - - return uids; -} - -/////////////////////////////////////////////////////////////////////////////// - -bool KABCHandler::getNames(const QString& uid, QCString& givenName, - QCString& familyName, QCString& fullName) const -{ - Addressee contact = m_addressBook->findByUid(uid); - - if (contact.isEmpty()) return false; - - givenName = contact.givenName().utf8(); - familyName = contact.familyName().utf8(); - fullName = contact.assembledName().utf8(); - - return true; -} - -/////////////////////////////////////////////////////////////////////////////// - -bool KABCHandler::getEmails(const QString& uid, QStringList& emails) const -{ - Addressee contact = m_addressBook->findByUid(uid); - - if (contact.isEmpty()) return false; - - emails = contact.emails(); - - return true; -} - -/////////////////////////////////////////////////////////////////////////////// - -QStringList KABCHandler::findByName(const QString& name) const -{ - AddressBook::ConstIterator it = m_addressBook->begin(); - AddressBook::ConstIterator endIt = m_addressBook->end(); - - QStringList uids; - for (; it != endIt; ++it) - { - if (hasNameMatch(*it, name.lower())) - uids << (*it).uid(); - } - - return uids; -} - -/////////////////////////////////////////////////////////////////////////////// - -QString KABCHandler::owner() const -{ - return m_addressBook->whoAmI().uid(); -} - -/////////////////////////////////////////////////////////////////////////////// - -QString KABCHandler::vcard30(const QString& uid) const -{ - Addressee contact = m_addressBook->findByUid(uid); - - if (contact.isEmpty()) return QString::null; - - return m_vcardConverter->createVCard(contact, VCardConverter::v3_0); -} - -/////////////////////////////////////////////////////////////////////////////// - -bool KABCHandler::hasNameMatch(const KABC::Addressee& contact, const QString& name) -{ - if (contact.assembledName().lower().find(name) != -1) return true; - - if (contact.formattedName().lower().find(name) != -1) return true; - - return false; -} - -/////////////////////////////////////////////////////////////////////////////// - -void KABCHandler::slotAddressBookChanged() -{ - qDebug("AddressBook changed"); -} - -#include "kabchandler.moc" - -// End of File diff --git a/kde/daemon/kabchandler.h b/kde/daemon/kabchandler.h deleted file mode 100644 index edd9f68..0000000 --- a/kde/daemon/kabchandler.h +++ /dev/null @@ -1,77 +0,0 @@ -/****************************************************************************** - Copyright 2006, Kevin Krammer <kevin.krammer@gmx.at> - All Rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#ifndef KABCHANDLER_H -#define KABCHANDLER_H - -// Qt includes -#include <qobject.h> - -// forward declarations -namespace KABC -{ - class Addressee; - class StdAddressBook; - class VCardConverter; -}; -class QStringList; - -class KABCHandler : public QObject -{ - Q_OBJECT - -public: - KABCHandler(QObject* parent = 0, const char* name = 0); - virtual ~KABCHandler(); - - QStringList listUIDs() const; - - bool getNames(const QString& uid, QCString& givenName, QCString& familyName, - QCString& fullName) const; - - bool getEmails(const QString& uid, QStringList& emails) const; - - QStringList findByName(const QString& uid) const; - - QString owner() const; - - QString vcard30(const QString& uid) const; - -private: - KABC::StdAddressBook* m_addressBook; - - KABC::VCardConverter* m_vcardConverter; - -private: - static bool hasNameMatch(const KABC::Addressee& contact, const QString& name); - -private slots: - void slotAddressBookChanged(); -}; - -#endif - -// End of File diff --git a/kde/daemon/main.cpp b/kde/daemon/main.cpp deleted file mode 100644 index 89e8c4a..0000000 --- a/kde/daemon/main.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include <kapplication.h> -#include <kcmdlineargs.h> -#include <kdebug.h> -#include <klocale.h> - -#include "handler.h" - -int main( int argc, char* argv[] ) - { - KCmdLineArgs::init( argc, argv, "dapi_kde", I18N_NOOP( "dapi_kde" ), I18N_NOOP( "dapi_kde" ), "0.1" ); - KApplication app; - KDapiHandler handler; - return app.exec(); - } diff --git a/kde/gen/.cvsignore b/kde/gen/.cvsignore deleted file mode 100644 index 3635391..0000000 --- a/kde/gen/.cvsignore +++ /dev/null @@ -1,5 +0,0 @@ -.deps -.libs -Makefile -Makefile.in -gen diff --git a/kde/gen/Makefile.am b/kde/gen/Makefile.am deleted file mode 100644 index c5a06c0..0000000 --- a/kde/gen/Makefile.am +++ /dev/null @@ -1,18 +0,0 @@ -noinst_PROGRAMS = gen -gen_SOURCES = gen.cpp -gen_LDADD = $(LIB_QT) -gen_LDFLAGS = $(all_libraries) -INCLUDES = $(all_includes) -CLEANFILES = qtkde_functions.cpp module_functions.cpp module_functions.h generated - -generate: generated - -generated: gen gen.txt - ./gen || exit 1 - cat qt/in/qtkdeintegration_x11_0.cpp qt/in/qtkdeintegration_x11_1.cpp qtkdeintegration_x11.cpp.gen qt/in/qtkdeintegration_x11_2.cpp >qt/qtkdeintegration_x11.cpp - cat qt/in/qtkdeintegration_x11_p_1.h qtkdeintegration_x11_p.h.gen qt/in/qtkdeintegration_x11_p_2.h >qt/qtkdeintegration_x11_p.h - rm -f qtkdeintegration_x11.cpp.gen qtkdeintegration_x11_p.h.gen - cp -f qt/in/qt.patch qt/ - touch generated - -qtkde_functions.cpp module_functions.cpp module_functions.h : generated diff --git a/kde/gen/callbacks_generated.c b/kde/gen/callbacks_generated.c deleted file mode 100644 index 6152566..0000000 --- a/kde/gen/callbacks_generated.c +++ /dev/null @@ -1,509 +0,0 @@ -int dapi_callbackInit( DapiConnection* conn, dapi_Init_callback callback ) - { - int seq; - DapiCallbackData* call; - seq = dapi_writeCommandInit( conn ); - if( seq == 0 ) - return 0; - call = malloc( sizeof( *call )); - if( call == NULL ) - return 0; - call->seq = seq; - call->callback = callback; - call->command = DAPI_COMMAND_INIT; - call->next = conn->callbacks; - conn->callbacks = call; - return seq; - } - -int dapi_callbackCapabilities( DapiConnection* conn, dapi_Capabilities_callback callback ) - { - int seq; - DapiCallbackData* call; - seq = dapi_writeCommandCapabilities( conn ); - if( seq == 0 ) - return 0; - call = malloc( sizeof( *call )); - if( call == NULL ) - return 0; - call->seq = seq; - call->callback = callback; - call->command = DAPI_COMMAND_CAPABILITIES; - call->next = conn->callbacks; - conn->callbacks = call; - return seq; - } - -int dapi_callbackOpenUrl( DapiConnection* conn, const char* url, DapiWindowInfo winfo, - dapi_OpenUrl_callback callback ) - { - int seq; - DapiCallbackData* call; - seq = dapi_writeCommandOpenUrl( conn, url, winfo ); - if( seq == 0 ) - return 0; - call = malloc( sizeof( *call )); - if( call == NULL ) - return 0; - call->seq = seq; - call->callback = callback; - call->command = DAPI_COMMAND_OPENURL; - call->next = conn->callbacks; - conn->callbacks = call; - return seq; - } - -int dapi_callbackExecuteUrl( DapiConnection* conn, const char* url, DapiWindowInfo winfo, - dapi_ExecuteUrl_callback callback ) - { - int seq; - DapiCallbackData* call; - seq = dapi_writeCommandExecuteUrl( conn, url, winfo ); - if( seq == 0 ) - return 0; - call = malloc( sizeof( *call )); - if( call == NULL ) - return 0; - call->seq = seq; - call->callback = callback; - call->command = DAPI_COMMAND_EXECUTEURL; - call->next = conn->callbacks; - conn->callbacks = call; - return seq; - } - -int dapi_callbackButtonOrder( DapiConnection* conn, dapi_ButtonOrder_callback callback ) - { - int seq; - DapiCallbackData* call; - seq = dapi_writeCommandButtonOrder( conn ); - if( seq == 0 ) - return 0; - call = malloc( sizeof( *call )); - if( call == NULL ) - return 0; - call->seq = seq; - call->callback = callback; - call->command = DAPI_COMMAND_BUTTONORDER; - call->next = conn->callbacks; - conn->callbacks = call; - return seq; - } - -int dapi_callbackRunAsUser( DapiConnection* conn, const char* user, const char* command, - DapiWindowInfo winfo, dapi_RunAsUser_callback callback ) - { - int seq; - DapiCallbackData* call; - seq = dapi_writeCommandRunAsUser( conn, user, command, winfo ); - if( seq == 0 ) - return 0; - call = malloc( sizeof( *call )); - if( call == NULL ) - return 0; - call->seq = seq; - call->callback = callback; - call->command = DAPI_COMMAND_RUNASUSER; - call->next = conn->callbacks; - conn->callbacks = call; - return seq; - } - -int dapi_callbackSuspendScreensaving( DapiConnection* conn, int suspend, dapi_SuspendScreensaving_callback callback ) - { - int seq; - DapiCallbackData* call; - seq = dapi_writeCommandSuspendScreensaving( conn, suspend ); - if( seq == 0 ) - return 0; - call = malloc( sizeof( *call )); - if( call == NULL ) - return 0; - call->seq = seq; - call->callback = callback; - call->command = DAPI_COMMAND_SUSPENDSCREENSAVING; - call->next = conn->callbacks; - conn->callbacks = call; - return seq; - } - -int dapi_callbackMailTo( DapiConnection* conn, const char* subject, const char* body, - const char* to, const char* cc, const char* bcc, stringarr attachments, DapiWindowInfo winfo, - dapi_MailTo_callback callback ) - { - int seq; - DapiCallbackData* call; - seq = dapi_writeCommandMailTo( conn, subject, body, to, cc, bcc, attachments, winfo ); - if( seq == 0 ) - return 0; - call = malloc( sizeof( *call )); - if( call == NULL ) - return 0; - call->seq = seq; - call->callback = callback; - call->command = DAPI_COMMAND_MAILTO; - call->next = conn->callbacks; - conn->callbacks = call; - return seq; - } - -int dapi_callbackLocalFile( DapiConnection* conn, const char* remote, const char* local, - int allow_download, DapiWindowInfo winfo, dapi_LocalFile_callback callback ) - { - int seq; - DapiCallbackData* call; - seq = dapi_writeCommandLocalFile( conn, remote, local, allow_download, winfo ); - if( seq == 0 ) - return 0; - call = malloc( sizeof( *call )); - if( call == NULL ) - return 0; - call->seq = seq; - call->callback = callback; - call->command = DAPI_COMMAND_LOCALFILE; - call->next = conn->callbacks; - conn->callbacks = call; - return seq; - } - -int dapi_callbackUploadFile( DapiConnection* conn, const char* local, const char* file, - int remove_local, DapiWindowInfo winfo, dapi_UploadFile_callback callback ) - { - int seq; - DapiCallbackData* call; - seq = dapi_writeCommandUploadFile( conn, local, file, remove_local, winfo ); - if( seq == 0 ) - return 0; - call = malloc( sizeof( *call )); - if( call == NULL ) - return 0; - call->seq = seq; - call->callback = callback; - call->command = DAPI_COMMAND_UPLOADFILE; - call->next = conn->callbacks; - conn->callbacks = call; - return seq; - } - -int dapi_callbackRemoveTemporaryLocalFile( DapiConnection* conn, const char* local, - dapi_RemoveTemporaryLocalFile_callback callback ) - { - int seq; - DapiCallbackData* call; - seq = dapi_writeCommandRemoveTemporaryLocalFile( conn, local ); - if( seq == 0 ) - return 0; - call = malloc( sizeof( *call )); - if( call == NULL ) - return 0; - call->seq = seq; - call->callback = callback; - call->command = DAPI_COMMAND_REMOVETEMPORARYLOCALFILE; - call->next = conn->callbacks; - conn->callbacks = call; - return seq; - } - -int dapi_callbackAddressBookList( DapiConnection* conn, dapi_AddressBookList_callback callback ) - { - int seq; - DapiCallbackData* call; - seq = dapi_writeCommandAddressBookList( conn ); - if( seq == 0 ) - return 0; - call = malloc( sizeof( *call )); - if( call == NULL ) - return 0; - call->seq = seq; - call->callback = callback; - call->command = DAPI_COMMAND_ADDRESSBOOKLIST; - call->next = conn->callbacks; - conn->callbacks = call; - return seq; - } - -int dapi_callbackAddressBookGetName( DapiConnection* conn, const char* id, dapi_AddressBookGetName_callback callback ) - { - int seq; - DapiCallbackData* call; - seq = dapi_writeCommandAddressBookGetName( conn, id ); - if( seq == 0 ) - return 0; - call = malloc( sizeof( *call )); - if( call == NULL ) - return 0; - call->seq = seq; - call->callback = callback; - call->command = DAPI_COMMAND_ADDRESSBOOKGETNAME; - call->next = conn->callbacks; - conn->callbacks = call; - return seq; - } - -int dapi_callbackAddressBookGetEmails( DapiConnection* conn, const char* id, dapi_AddressBookGetEmails_callback callback ) - { - int seq; - DapiCallbackData* call; - seq = dapi_writeCommandAddressBookGetEmails( conn, id ); - if( seq == 0 ) - return 0; - call = malloc( sizeof( *call )); - if( call == NULL ) - return 0; - call->seq = seq; - call->callback = callback; - call->command = DAPI_COMMAND_ADDRESSBOOKGETEMAILS; - call->next = conn->callbacks; - conn->callbacks = call; - return seq; - } - -int dapi_callbackAddressBookFindByName( DapiConnection* conn, const char* name, dapi_AddressBookFindByName_callback callback ) - { - int seq; - DapiCallbackData* call; - seq = dapi_writeCommandAddressBookFindByName( conn, name ); - if( seq == 0 ) - return 0; - call = malloc( sizeof( *call )); - if( call == NULL ) - return 0; - call->seq = seq; - call->callback = callback; - call->command = DAPI_COMMAND_ADDRESSBOOKFINDBYNAME; - call->next = conn->callbacks; - conn->callbacks = call; - return seq; - } - -int dapi_callbackAddressBookOwner( DapiConnection* conn, dapi_AddressBookOwner_callback callback ) - { - int seq; - DapiCallbackData* call; - seq = dapi_writeCommandAddressBookOwner( conn ); - if( seq == 0 ) - return 0; - call = malloc( sizeof( *call )); - if( call == NULL ) - return 0; - call->seq = seq; - call->callback = callback; - call->command = DAPI_COMMAND_ADDRESSBOOKOWNER; - call->next = conn->callbacks; - conn->callbacks = call; - return seq; - } - -int dapi_callbackAddressBookGetVCard30( DapiConnection* conn, const char* id, dapi_AddressBookGetVCard30_callback callback ) - { - int seq; - DapiCallbackData* call; - seq = dapi_writeCommandAddressBookGetVCard30( conn, id ); - if( seq == 0 ) - return 0; - call = malloc( sizeof( *call )); - if( call == NULL ) - return 0; - call->seq = seq; - call->callback = callback; - call->command = DAPI_COMMAND_ADDRESSBOOKGETVCARD30; - call->next = conn->callbacks; - conn->callbacks = call; - return seq; - } - -static void genericCallbackDispatch( DapiConnection* conn, DapiCallbackData* data, int command, int seq ) - { - switch( command ) - { - case DAPI_REPLY_INIT: - { - int ok; - dapi_readReplyInit( conn, &ok ); - (( dapi_Init_callback ) data->callback )( conn, data->seq, ok ); - break; - } - case DAPI_REPLY_CAPABILITIES: - { - intarr capabitilies; - int ok; - dapi_readReplyCapabilities( conn, &capabitilies, &ok ); - (( dapi_Capabilities_callback ) data->callback )( conn, data->seq, capabitilies, ok ); - break; - } - case DAPI_REPLY_OPENURL: - { - int ok; - dapi_readReplyOpenUrl( conn, &ok ); - (( dapi_OpenUrl_callback ) data->callback )( conn, data->seq, ok ); - break; - } - case DAPI_REPLY_EXECUTEURL: - { - int ok; - dapi_readReplyExecuteUrl( conn, &ok ); - (( dapi_ExecuteUrl_callback ) data->callback )( conn, data->seq, ok ); - break; - } - case DAPI_REPLY_BUTTONORDER: - { - int order; - dapi_readReplyButtonOrder( conn, &order ); - (( dapi_ButtonOrder_callback ) data->callback )( conn, data->seq, order ); - break; - } - case DAPI_REPLY_RUNASUSER: - { - int ok; - dapi_readReplyRunAsUser( conn, &ok ); - (( dapi_RunAsUser_callback ) data->callback )( conn, data->seq, ok ); - break; - } - case DAPI_REPLY_SUSPENDSCREENSAVING: - { - int ok; - dapi_readReplySuspendScreensaving( conn, &ok ); - (( dapi_SuspendScreensaving_callback ) data->callback )( conn, data->seq, ok ); - break; - } - case DAPI_REPLY_MAILTO: - { - int ok; - dapi_readReplyMailTo( conn, &ok ); - (( dapi_MailTo_callback ) data->callback )( conn, data->seq, ok ); - break; - } - case DAPI_REPLY_LOCALFILE: - { - char* result; - dapi_readReplyLocalFile( conn, &result ); - (( dapi_LocalFile_callback ) data->callback )( conn, data->seq, result ); - break; - } - case DAPI_REPLY_UPLOADFILE: - { - int ok; - dapi_readReplyUploadFile( conn, &ok ); - (( dapi_UploadFile_callback ) data->callback )( conn, data->seq, ok ); - break; - } - case DAPI_REPLY_REMOVETEMPORARYLOCALFILE: - { - int ok; - dapi_readReplyRemoveTemporaryLocalFile( conn, &ok ); - (( dapi_RemoveTemporaryLocalFile_callback ) data->callback )( conn, data->seq, ok ); - break; - } - case DAPI_REPLY_ADDRESSBOOKLIST: - { - stringarr idlist; - int ok; - dapi_readReplyAddressBookList( conn, &idlist, &ok ); - (( dapi_AddressBookList_callback ) data->callback )( conn, data->seq, idlist, ok ); - break; - } - case DAPI_REPLY_ADDRESSBOOKGETNAME: - { - char* givenname; - char* familyname; - char* fullname; - int ok; - dapi_readReplyAddressBookGetName( conn, &givenname, &familyname, &fullname, &ok ); - (( dapi_AddressBookGetName_callback ) data->callback )( conn, data->seq, givenname, familyname, fullname, ok ); - break; - } - case DAPI_REPLY_ADDRESSBOOKGETEMAILS: - { - stringarr emaillist; - int ok; - dapi_readReplyAddressBookGetEmails( conn, &emaillist, &ok ); - (( dapi_AddressBookGetEmails_callback ) data->callback )( conn, data->seq, emaillist, ok ); - break; - } - case DAPI_REPLY_ADDRESSBOOKFINDBYNAME: - { - stringarr idlist; - int ok; - dapi_readReplyAddressBookFindByName( conn, &idlist, &ok ); - (( dapi_AddressBookFindByName_callback ) data->callback )( conn, data->seq, idlist, ok ); - break; - } - case DAPI_REPLY_ADDRESSBOOKOWNER: - { - char* id; - int ok; - dapi_readReplyAddressBookOwner( conn, &id, &ok ); - (( dapi_AddressBookOwner_callback ) data->callback )( conn, data->seq, id, ok ); - break; - } - case DAPI_REPLY_ADDRESSBOOKGETVCARD30: - { - char* vcard; - int ok; - dapi_readReplyAddressBookGetVCard30( conn, &vcard, &ok ); - (( dapi_AddressBookGetVCard30_callback ) data->callback )( conn, data->seq, vcard, ok ); - break; - } - } - } -int dapi_callbackOpenUrl_Window( DapiConnection* conn, const char* url, long winfo, - dapi_OpenUrl_callback callback ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - int seq = dapi_callbackOpenUrl( conn, url, winfo_, callback ); - dapi_freeWindowInfo( winfo_ ); - return seq; - } - -int dapi_callbackExecuteUrl_Window( DapiConnection* conn, const char* url, long winfo, - dapi_ExecuteUrl_callback callback ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - int seq = dapi_callbackExecuteUrl( conn, url, winfo_, callback ); - dapi_freeWindowInfo( winfo_ ); - return seq; - } - -int dapi_callbackRunAsUser_Window( DapiConnection* conn, const char* user, const char* command, - long winfo, dapi_RunAsUser_callback callback ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - int seq = dapi_callbackRunAsUser( conn, user, command, winfo_, callback ); - dapi_freeWindowInfo( winfo_ ); - return seq; - } - -int dapi_callbackMailTo_Window( DapiConnection* conn, const char* subject, const char* body, - const char* to, const char* cc, const char* bcc, stringarr attachments, long winfo, - dapi_MailTo_callback callback ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - int seq = dapi_callbackMailTo( conn, subject, body, to, cc, bcc, attachments, winfo_, callback ); - dapi_freeWindowInfo( winfo_ ); - return seq; - } - -int dapi_callbackLocalFile_Window( DapiConnection* conn, const char* remote, const char* local, - int allow_download, long winfo, dapi_LocalFile_callback callback ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - int seq = dapi_callbackLocalFile( conn, remote, local, allow_download, winfo_, callback ); - dapi_freeWindowInfo( winfo_ ); - return seq; - } - -int dapi_callbackUploadFile_Window( DapiConnection* conn, const char* local, const char* file, - int remove_local, long winfo, dapi_UploadFile_callback callback ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - int seq = dapi_callbackUploadFile( conn, local, file, remove_local, winfo_, callback ); - dapi_freeWindowInfo( winfo_ ); - return seq; - } - diff --git a/kde/gen/callbacks_generated.h b/kde/gen/callbacks_generated.h deleted file mode 100644 index 2421f23..0000000 --- a/kde/gen/callbacks_generated.h +++ /dev/null @@ -1,64 +0,0 @@ -typedef void( * dapi_Init_callback )( DapiConnection* conn, int seq, int ok ); -int dapi_callbackInit( DapiConnection* conn, dapi_Init_callback callback ); -typedef void( * dapi_Capabilities_callback )( DapiConnection* conn, int seq, intarr capabitilies, - int ok ); -int dapi_callbackCapabilities( DapiConnection* conn, dapi_Capabilities_callback callback ); -typedef void( * dapi_OpenUrl_callback )( DapiConnection* conn, int seq, int ok ); -int dapi_callbackOpenUrl( DapiConnection* conn, const char* url, DapiWindowInfo winfo, - dapi_OpenUrl_callback callback ); -int dapi_callbackOpenUrl_Window( DapiConnection* conn, const char* url, long winfo, - dapi_OpenUrl_callback callback ); -typedef void( * dapi_ExecuteUrl_callback )( DapiConnection* conn, int seq, int ok ); -int dapi_callbackExecuteUrl( DapiConnection* conn, const char* url, DapiWindowInfo winfo, - dapi_ExecuteUrl_callback callback ); -int dapi_callbackExecuteUrl_Window( DapiConnection* conn, const char* url, long winfo, - dapi_ExecuteUrl_callback callback ); -typedef void( * dapi_ButtonOrder_callback )( DapiConnection* conn, int seq, int order ); -int dapi_callbackButtonOrder( DapiConnection* conn, dapi_ButtonOrder_callback callback ); -typedef void( * dapi_RunAsUser_callback )( DapiConnection* conn, int seq, int ok ); -int dapi_callbackRunAsUser( DapiConnection* conn, const char* user, const char* command, - DapiWindowInfo winfo, dapi_RunAsUser_callback callback ); -int dapi_callbackRunAsUser_Window( DapiConnection* conn, const char* user, const char* command, - long winfo, dapi_RunAsUser_callback callback ); -typedef void( * dapi_SuspendScreensaving_callback )( DapiConnection* conn, int seq, - int ok ); -int dapi_callbackSuspendScreensaving( DapiConnection* conn, int suspend, dapi_SuspendScreensaving_callback callback ); -typedef void( * dapi_MailTo_callback )( DapiConnection* conn, int seq, int ok ); -int dapi_callbackMailTo( DapiConnection* conn, const char* subject, const char* body, - const char* to, const char* cc, const char* bcc, stringarr attachments, DapiWindowInfo winfo, - dapi_MailTo_callback callback ); -int dapi_callbackMailTo_Window( DapiConnection* conn, const char* subject, const char* body, - const char* to, const char* cc, const char* bcc, stringarr attachments, long winfo, - dapi_MailTo_callback callback ); -typedef void( * dapi_LocalFile_callback )( DapiConnection* conn, int seq, const char* result ); -int dapi_callbackLocalFile( DapiConnection* conn, const char* remote, const char* local, - int allow_download, DapiWindowInfo winfo, dapi_LocalFile_callback callback ); -int dapi_callbackLocalFile_Window( DapiConnection* conn, const char* remote, const char* local, - int allow_download, long winfo, dapi_LocalFile_callback callback ); -typedef void( * dapi_UploadFile_callback )( DapiConnection* conn, int seq, int ok ); -int dapi_callbackUploadFile( DapiConnection* conn, const char* local, const char* file, - int remove_local, DapiWindowInfo winfo, dapi_UploadFile_callback callback ); -int dapi_callbackUploadFile_Window( DapiConnection* conn, const char* local, const char* file, - int remove_local, long winfo, dapi_UploadFile_callback callback ); -typedef void( * dapi_RemoveTemporaryLocalFile_callback )( DapiConnection* conn, int seq, - int ok ); -int dapi_callbackRemoveTemporaryLocalFile( DapiConnection* conn, const char* local, - dapi_RemoveTemporaryLocalFile_callback callback ); -typedef void( * dapi_AddressBookList_callback )( DapiConnection* conn, int seq, stringarr idlist, - int ok ); -int dapi_callbackAddressBookList( DapiConnection* conn, dapi_AddressBookList_callback callback ); -typedef void( * dapi_AddressBookGetName_callback )( DapiConnection* conn, int seq, - const char* givenname, const char* familyname, const char* fullname, int ok ); -int dapi_callbackAddressBookGetName( DapiConnection* conn, const char* id, dapi_AddressBookGetName_callback callback ); -typedef void( * dapi_AddressBookGetEmails_callback )( DapiConnection* conn, int seq, - stringarr emaillist, int ok ); -int dapi_callbackAddressBookGetEmails( DapiConnection* conn, const char* id, dapi_AddressBookGetEmails_callback callback ); -typedef void( * dapi_AddressBookFindByName_callback )( DapiConnection* conn, int seq, - stringarr idlist, int ok ); -int dapi_callbackAddressBookFindByName( DapiConnection* conn, const char* name, dapi_AddressBookFindByName_callback callback ); -typedef void( * dapi_AddressBookOwner_callback )( DapiConnection* conn, int seq, const char* id, - int ok ); -int dapi_callbackAddressBookOwner( DapiConnection* conn, dapi_AddressBookOwner_callback callback ); -typedef void( * dapi_AddressBookGetVCard30_callback )( DapiConnection* conn, int seq, - const char* vcard, int ok ); -int dapi_callbackAddressBookGetVCard30( DapiConnection* conn, const char* id, dapi_AddressBookGetVCard30_callback callback ); diff --git a/kde/gen/calls_generated.c b/kde/gen/calls_generated.c deleted file mode 100644 index 0b86660..0000000 --- a/kde/gen/calls_generated.c +++ /dev/null @@ -1,424 +0,0 @@ -int dapi_Init( DapiConnection* conn ) - { - int seq; - int ret; - seq = dapi_writeCommandInit( conn ); - if( seq == 0 ) - return 0; - for(;;) - { - int comm, seq2; - if( !dapi_readCommand( conn, &comm, &seq2 )) - return 0; - if( seq2 == seq && comm == DAPI_REPLY_INIT ) - break; /* --> */ - conn->generic_callback( conn, comm, seq2 ); - } - if( !dapi_readReplyInit( conn, &ret )) - return 0; - return ret; - } - -int dapi_Capabilities( DapiConnection* conn, intarr* capabitilies ) - { - int seq; - int ret; - seq = dapi_writeCommandCapabilities( conn ); - if( seq == 0 ) - return 0; - for(;;) - { - int comm, seq2; - if( !dapi_readCommand( conn, &comm, &seq2 )) - return 0; - if( seq2 == seq && comm == DAPI_REPLY_CAPABILITIES ) - break; /* --> */ - conn->generic_callback( conn, comm, seq2 ); - } - if( !dapi_readReplyCapabilities( conn, capabitilies, &ret )) - return 0; - return ret; - } - -int dapi_OpenUrl( DapiConnection* conn, const char* url, DapiWindowInfo winfo ) - { - int seq; - int ret; - seq = dapi_writeCommandOpenUrl( conn, url, winfo ); - if( seq == 0 ) - return 0; - for(;;) - { - int comm, seq2; - if( !dapi_readCommand( conn, &comm, &seq2 )) - return 0; - if( seq2 == seq && comm == DAPI_REPLY_OPENURL ) - break; /* --> */ - conn->generic_callback( conn, comm, seq2 ); - } - if( !dapi_readReplyOpenUrl( conn, &ret )) - return 0; - return ret; - } - -int dapi_ExecuteUrl( DapiConnection* conn, const char* url, DapiWindowInfo winfo ) - { - int seq; - int ret; - seq = dapi_writeCommandExecuteUrl( conn, url, winfo ); - if( seq == 0 ) - return 0; - for(;;) - { - int comm, seq2; - if( !dapi_readCommand( conn, &comm, &seq2 )) - return 0; - if( seq2 == seq && comm == DAPI_REPLY_EXECUTEURL ) - break; /* --> */ - conn->generic_callback( conn, comm, seq2 ); - } - if( !dapi_readReplyExecuteUrl( conn, &ret )) - return 0; - return ret; - } - -int dapi_ButtonOrder( DapiConnection* conn ) - { - int seq; - int ret; - seq = dapi_writeCommandButtonOrder( conn ); - if( seq == 0 ) - return 0; - for(;;) - { - int comm, seq2; - if( !dapi_readCommand( conn, &comm, &seq2 )) - return 0; - if( seq2 == seq && comm == DAPI_REPLY_BUTTONORDER ) - break; /* --> */ - conn->generic_callback( conn, comm, seq2 ); - } - if( !dapi_readReplyButtonOrder( conn, &ret )) - return 0; - return ret; - } - -int dapi_RunAsUser( DapiConnection* conn, const char* user, const char* command, DapiWindowInfo winfo ) - { - int seq; - int ret; - seq = dapi_writeCommandRunAsUser( conn, user, command, winfo ); - if( seq == 0 ) - return 0; - for(;;) - { - int comm, seq2; - if( !dapi_readCommand( conn, &comm, &seq2 )) - return 0; - if( seq2 == seq && comm == DAPI_REPLY_RUNASUSER ) - break; /* --> */ - conn->generic_callback( conn, comm, seq2 ); - } - if( !dapi_readReplyRunAsUser( conn, &ret )) - return 0; - return ret; - } - -int dapi_SuspendScreensaving( DapiConnection* conn, int suspend ) - { - int seq; - int ret; - seq = dapi_writeCommandSuspendScreensaving( conn, suspend ); - if( seq == 0 ) - return 0; - for(;;) - { - int comm, seq2; - if( !dapi_readCommand( conn, &comm, &seq2 )) - return 0; - if( seq2 == seq && comm == DAPI_REPLY_SUSPENDSCREENSAVING ) - break; /* --> */ - conn->generic_callback( conn, comm, seq2 ); - } - if( !dapi_readReplySuspendScreensaving( conn, &ret )) - return 0; - return ret; - } - -int dapi_MailTo( DapiConnection* conn, const char* subject, const char* body, const char* to, - const char* cc, const char* bcc, stringarr attachments, DapiWindowInfo winfo ) - { - int seq; - int ret; - seq = dapi_writeCommandMailTo( conn, subject, body, to, cc, bcc, attachments, winfo ); - if( seq == 0 ) - return 0; - for(;;) - { - int comm, seq2; - if( !dapi_readCommand( conn, &comm, &seq2 )) - return 0; - if( seq2 == seq && comm == DAPI_REPLY_MAILTO ) - break; /* --> */ - conn->generic_callback( conn, comm, seq2 ); - } - if( !dapi_readReplyMailTo( conn, &ret )) - return 0; - return ret; - } - -char* dapi_LocalFile( DapiConnection* conn, const char* remote, const char* local, - int allow_download, DapiWindowInfo winfo ) - { - int seq; - char* ret; - seq = dapi_writeCommandLocalFile( conn, remote, local, allow_download, winfo ); - if( seq == 0 ) - return 0; - for(;;) - { - int comm, seq2; - if( !dapi_readCommand( conn, &comm, &seq2 )) - return 0; - if( seq2 == seq && comm == DAPI_REPLY_LOCALFILE ) - break; /* --> */ - conn->generic_callback( conn, comm, seq2 ); - } - if( !dapi_readReplyLocalFile( conn, &ret )) - return 0; - if( ret[ 0 ] == '\0' ) - { - free( ret ); - ret = NULL; - } - return ret; - } - -int dapi_UploadFile( DapiConnection* conn, const char* local, const char* file, int remove_local, - DapiWindowInfo winfo ) - { - int seq; - int ret; - seq = dapi_writeCommandUploadFile( conn, local, file, remove_local, winfo ); - if( seq == 0 ) - return 0; - for(;;) - { - int comm, seq2; - if( !dapi_readCommand( conn, &comm, &seq2 )) - return 0; - if( seq2 == seq && comm == DAPI_REPLY_UPLOADFILE ) - break; /* --> */ - conn->generic_callback( conn, comm, seq2 ); - } - if( !dapi_readReplyUploadFile( conn, &ret )) - return 0; - return ret; - } - -int dapi_RemoveTemporaryLocalFile( DapiConnection* conn, const char* local ) - { - int seq; - int ret; - seq = dapi_writeCommandRemoveTemporaryLocalFile( conn, local ); - if( seq == 0 ) - return 0; - for(;;) - { - int comm, seq2; - if( !dapi_readCommand( conn, &comm, &seq2 )) - return 0; - if( seq2 == seq && comm == DAPI_REPLY_REMOVETEMPORARYLOCALFILE ) - break; /* --> */ - conn->generic_callback( conn, comm, seq2 ); - } - if( !dapi_readReplyRemoveTemporaryLocalFile( conn, &ret )) - return 0; - return ret; - } - -int dapi_AddressBookList( DapiConnection* conn, stringarr* idlist ) - { - int seq; - int ret; - seq = dapi_writeCommandAddressBookList( conn ); - if( seq == 0 ) - return 0; - for(;;) - { - int comm, seq2; - if( !dapi_readCommand( conn, &comm, &seq2 )) - return 0; - if( seq2 == seq && comm == DAPI_REPLY_ADDRESSBOOKLIST ) - break; /* --> */ - conn->generic_callback( conn, comm, seq2 ); - } - if( !dapi_readReplyAddressBookList( conn, idlist, &ret )) - return 0; - return ret; - } - -int dapi_AddressBookGetName( DapiConnection* conn, const char* id, char** givenname, - char** familyname, char** fullname ) - { - int seq; - int ret; - seq = dapi_writeCommandAddressBookGetName( conn, id ); - if( seq == 0 ) - return 0; - for(;;) - { - int comm, seq2; - if( !dapi_readCommand( conn, &comm, &seq2 )) - return 0; - if( seq2 == seq && comm == DAPI_REPLY_ADDRESSBOOKGETNAME ) - break; /* --> */ - conn->generic_callback( conn, comm, seq2 ); - } - if( !dapi_readReplyAddressBookGetName( conn, givenname, familyname, fullname, &ret )) - return 0; - return ret; - } - -int dapi_AddressBookGetEmails( DapiConnection* conn, const char* id, stringarr* emaillist ) - { - int seq; - int ret; - seq = dapi_writeCommandAddressBookGetEmails( conn, id ); - if( seq == 0 ) - return 0; - for(;;) - { - int comm, seq2; - if( !dapi_readCommand( conn, &comm, &seq2 )) - return 0; - if( seq2 == seq && comm == DAPI_REPLY_ADDRESSBOOKGETEMAILS ) - break; /* --> */ - conn->generic_callback( conn, comm, seq2 ); - } - if( !dapi_readReplyAddressBookGetEmails( conn, emaillist, &ret )) - return 0; - return ret; - } - -int dapi_AddressBookFindByName( DapiConnection* conn, const char* name, stringarr* idlist ) - { - int seq; - int ret; - seq = dapi_writeCommandAddressBookFindByName( conn, name ); - if( seq == 0 ) - return 0; - for(;;) - { - int comm, seq2; - if( !dapi_readCommand( conn, &comm, &seq2 )) - return 0; - if( seq2 == seq && comm == DAPI_REPLY_ADDRESSBOOKFINDBYNAME ) - break; /* --> */ - conn->generic_callback( conn, comm, seq2 ); - } - if( !dapi_readReplyAddressBookFindByName( conn, idlist, &ret )) - return 0; - return ret; - } - -int dapi_AddressBookOwner( DapiConnection* conn, char** id ) - { - int seq; - int ret; - seq = dapi_writeCommandAddressBookOwner( conn ); - if( seq == 0 ) - return 0; - for(;;) - { - int comm, seq2; - if( !dapi_readCommand( conn, &comm, &seq2 )) - return 0; - if( seq2 == seq && comm == DAPI_REPLY_ADDRESSBOOKOWNER ) - break; /* --> */ - conn->generic_callback( conn, comm, seq2 ); - } - if( !dapi_readReplyAddressBookOwner( conn, id, &ret )) - return 0; - return ret; - } - -int dapi_AddressBookGetVCard30( DapiConnection* conn, const char* id, char** vcard ) - { - int seq; - int ret; - seq = dapi_writeCommandAddressBookGetVCard30( conn, id ); - if( seq == 0 ) - return 0; - for(;;) - { - int comm, seq2; - if( !dapi_readCommand( conn, &comm, &seq2 )) - return 0; - if( seq2 == seq && comm == DAPI_REPLY_ADDRESSBOOKGETVCARD30 ) - break; /* --> */ - conn->generic_callback( conn, comm, seq2 ); - } - if( !dapi_readReplyAddressBookGetVCard30( conn, vcard, &ret )) - return 0; - return ret; - } - -int dapi_OpenUrl_Window( DapiConnection* conn, const char* url, long winfo ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - int ret = dapi_OpenUrl( conn, url, winfo_ ); - dapi_freeWindowInfo( winfo_ ); - return ret; - } - -int dapi_ExecuteUrl_Window( DapiConnection* conn, const char* url, long winfo ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - int ret = dapi_ExecuteUrl( conn, url, winfo_ ); - dapi_freeWindowInfo( winfo_ ); - return ret; - } - -int dapi_RunAsUser_Window( DapiConnection* conn, const char* user, const char* command, - long winfo ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - int ret = dapi_RunAsUser( conn, user, command, winfo_ ); - dapi_freeWindowInfo( winfo_ ); - return ret; - } - -int dapi_MailTo_Window( DapiConnection* conn, const char* subject, const char* body, - const char* to, const char* cc, const char* bcc, stringarr attachments, long winfo ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - int ret = dapi_MailTo( conn, subject, body, to, cc, bcc, attachments, winfo_ ); - dapi_freeWindowInfo( winfo_ ); - return ret; - } - -char* dapi_LocalFile_Window( DapiConnection* conn, const char* remote, const char* local, - int allow_download, long winfo ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - char* ret = dapi_LocalFile( conn, remote, local, allow_download, winfo_ ); - dapi_freeWindowInfo( winfo_ ); - return ret; - } - -int dapi_UploadFile_Window( DapiConnection* conn, const char* local, const char* file, - int remove_local, long winfo ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - int ret = dapi_UploadFile( conn, local, file, remove_local, winfo_ ); - dapi_freeWindowInfo( winfo_ ); - return ret; - } - diff --git a/kde/gen/calls_generated.h b/kde/gen/calls_generated.h deleted file mode 100644 index 8a86b5b..0000000 --- a/kde/gen/calls_generated.h +++ /dev/null @@ -1,31 +0,0 @@ -int dapi_Init( DapiConnection* conn ); -int dapi_Capabilities( DapiConnection* conn, intarr* capabitilies ); -int dapi_OpenUrl( DapiConnection* conn, const char* url, DapiWindowInfo winfo ); -int dapi_OpenUrl_Window( DapiConnection* conn, const char* url, long winfo ); -int dapi_ExecuteUrl( DapiConnection* conn, const char* url, DapiWindowInfo winfo ); -int dapi_ExecuteUrl_Window( DapiConnection* conn, const char* url, long winfo ); -int dapi_ButtonOrder( DapiConnection* conn ); -int dapi_RunAsUser( DapiConnection* conn, const char* user, const char* command, DapiWindowInfo winfo ); -int dapi_RunAsUser_Window( DapiConnection* conn, const char* user, const char* command, - long winfo ); -int dapi_SuspendScreensaving( DapiConnection* conn, int suspend ); -int dapi_MailTo( DapiConnection* conn, const char* subject, const char* body, const char* to, - const char* cc, const char* bcc, stringarr attachments, DapiWindowInfo winfo ); -int dapi_MailTo_Window( DapiConnection* conn, const char* subject, const char* body, - const char* to, const char* cc, const char* bcc, stringarr attachments, long winfo ); -char* dapi_LocalFile( DapiConnection* conn, const char* remote, const char* local, - int allow_download, DapiWindowInfo winfo ); -char* dapi_LocalFile_Window( DapiConnection* conn, const char* remote, const char* local, - int allow_download, long winfo ); -int dapi_UploadFile( DapiConnection* conn, const char* local, const char* file, int remove_local, - DapiWindowInfo winfo ); -int dapi_UploadFile_Window( DapiConnection* conn, const char* local, const char* file, - int remove_local, long winfo ); -int dapi_RemoveTemporaryLocalFile( DapiConnection* conn, const char* local ); -int dapi_AddressBookList( DapiConnection* conn, stringarr* idlist ); -int dapi_AddressBookGetName( DapiConnection* conn, const char* id, char** givenname, - char** familyname, char** fullname ); -int dapi_AddressBookGetEmails( DapiConnection* conn, const char* id, stringarr* emaillist ); -int dapi_AddressBookFindByName( DapiConnection* conn, const char* name, stringarr* idlist ); -int dapi_AddressBookOwner( DapiConnection* conn, char** id ); -int dapi_AddressBookGetVCard30( DapiConnection* conn, const char* id, char** vcard ); diff --git a/kde/gen/comm_generated.c b/kde/gen/comm_generated.c deleted file mode 100644 index 32a8767..0000000 --- a/kde/gen/comm_generated.c +++ /dev/null @@ -1,558 +0,0 @@ -int dapi_readCommandInit( DapiConnection* conn ) - { - return 1; - } - -int dapi_readCommandCapabilities( DapiConnection* conn ) - { - return 1; - } - -int dapi_readCommandOpenUrl( DapiConnection* conn, char** url, DapiWindowInfo* winfo ) - { - *url = readString( conn ); - *winfo = readWindowInfo( conn ); - return 1; - } - -int dapi_readCommandExecuteUrl( DapiConnection* conn, char** url, DapiWindowInfo* winfo ) - { - *url = readString( conn ); - *winfo = readWindowInfo( conn ); - return 1; - } - -int dapi_readCommandButtonOrder( DapiConnection* conn ) - { - return 1; - } - -int dapi_readCommandRunAsUser( DapiConnection* conn, char** user, char** command, - DapiWindowInfo* winfo ) - { - *user = readString( conn ); - *command = readString( conn ); - *winfo = readWindowInfo( conn ); - return 1; - } - -int dapi_readCommandSuspendScreensaving( DapiConnection* conn, int* suspend ) - { - readSocket( conn, suspend, sizeof( *suspend )); - return 1; - } - -int dapi_readCommandMailTo( DapiConnection* conn, char** subject, char** body, char** to, - char** cc, char** bcc, stringarr* attachments, DapiWindowInfo* winfo ) - { - *subject = readString( conn ); - *body = readString( conn ); - *to = readString( conn ); - *cc = readString( conn ); - *bcc = readString( conn ); - *attachments = readstringarr( conn ); - *winfo = readWindowInfo( conn ); - return 1; - } - -int dapi_readCommandLocalFile( DapiConnection* conn, char** remote, char** local, - int* allow_download, DapiWindowInfo* winfo ) - { - *remote = readString( conn ); - *local = readString( conn ); - readSocket( conn, allow_download, sizeof( *allow_download )); - *winfo = readWindowInfo( conn ); - return 1; - } - -int dapi_readCommandUploadFile( DapiConnection* conn, char** local, char** file, int* remove_local, - DapiWindowInfo* winfo ) - { - *local = readString( conn ); - *file = readString( conn ); - readSocket( conn, remove_local, sizeof( *remove_local )); - *winfo = readWindowInfo( conn ); - return 1; - } - -int dapi_readCommandRemoveTemporaryLocalFile( DapiConnection* conn, char** local ) - { - *local = readString( conn ); - return 1; - } - -int dapi_readCommandAddressBookList( DapiConnection* conn ) - { - return 1; - } - -int dapi_readCommandAddressBookGetName( DapiConnection* conn, char** id ) - { - *id = readString( conn ); - return 1; - } - -int dapi_readCommandAddressBookGetEmails( DapiConnection* conn, char** id ) - { - *id = readString( conn ); - return 1; - } - -int dapi_readCommandAddressBookFindByName( DapiConnection* conn, char** name ) - { - *name = readString( conn ); - return 1; - } - -int dapi_readCommandAddressBookOwner( DapiConnection* conn ) - { - return 1; - } - -int dapi_readCommandAddressBookGetVCard30( DapiConnection* conn, char** id ) - { - *id = readString( conn ); - return 1; - } - -int dapi_readReplyInit( DapiConnection* conn, int* ok ) - { - readSocket( conn, ok, sizeof( *ok )); - return 1; - } - -int dapi_readReplyCapabilities( DapiConnection* conn, intarr* capabitilies, int* ok ) - { - *capabitilies = readintarr( conn ); - readSocket( conn, ok, sizeof( *ok )); - return 1; - } - -int dapi_readReplyOpenUrl( DapiConnection* conn, int* ok ) - { - readSocket( conn, ok, sizeof( *ok )); - return 1; - } - -int dapi_readReplyExecuteUrl( DapiConnection* conn, int* ok ) - { - readSocket( conn, ok, sizeof( *ok )); - return 1; - } - -int dapi_readReplyButtonOrder( DapiConnection* conn, int* order ) - { - readSocket( conn, order, sizeof( *order )); - return 1; - } - -int dapi_readReplyRunAsUser( DapiConnection* conn, int* ok ) - { - readSocket( conn, ok, sizeof( *ok )); - return 1; - } - -int dapi_readReplySuspendScreensaving( DapiConnection* conn, int* ok ) - { - readSocket( conn, ok, sizeof( *ok )); - return 1; - } - -int dapi_readReplyMailTo( DapiConnection* conn, int* ok ) - { - readSocket( conn, ok, sizeof( *ok )); - return 1; - } - -int dapi_readReplyLocalFile( DapiConnection* conn, char** result ) - { - *result = readString( conn ); - return 1; - } - -int dapi_readReplyUploadFile( DapiConnection* conn, int* ok ) - { - readSocket( conn, ok, sizeof( *ok )); - return 1; - } - -int dapi_readReplyRemoveTemporaryLocalFile( DapiConnection* conn, int* ok ) - { - readSocket( conn, ok, sizeof( *ok )); - return 1; - } - -int dapi_readReplyAddressBookList( DapiConnection* conn, stringarr* idlist, int* ok ) - { - *idlist = readstringarr( conn ); - readSocket( conn, ok, sizeof( *ok )); - return 1; - } - -int dapi_readReplyAddressBookGetName( DapiConnection* conn, char** givenname, char** familyname, - char** fullname, int* ok ) - { - *givenname = readString( conn ); - *familyname = readString( conn ); - *fullname = readString( conn ); - readSocket( conn, ok, sizeof( *ok )); - return 1; - } - -int dapi_readReplyAddressBookGetEmails( DapiConnection* conn, stringarr* emaillist, - int* ok ) - { - *emaillist = readstringarr( conn ); - readSocket( conn, ok, sizeof( *ok )); - return 1; - } - -int dapi_readReplyAddressBookFindByName( DapiConnection* conn, stringarr* idlist, - int* ok ) - { - *idlist = readstringarr( conn ); - readSocket( conn, ok, sizeof( *ok )); - return 1; - } - -int dapi_readReplyAddressBookOwner( DapiConnection* conn, char** id, int* ok ) - { - *id = readString( conn ); - readSocket( conn, ok, sizeof( *ok )); - return 1; - } - -int dapi_readReplyAddressBookGetVCard30( DapiConnection* conn, char** vcard, int* ok ) - { - *vcard = readString( conn ); - readSocket( conn, ok, sizeof( *ok )); - return 1; - } - -int dapi_writeCommandInit( DapiConnection* conn ) - { - int seq = getNextSeq( conn ); - writeCommand( conn, DAPI_COMMAND_INIT, seq ); - return seq; - } - -int dapi_writeCommandCapabilities( DapiConnection* conn ) - { - int seq = getNextSeq( conn ); - writeCommand( conn, DAPI_COMMAND_CAPABILITIES, seq ); - return seq; - } - -int dapi_writeCommandOpenUrl( DapiConnection* conn, const char* url, DapiWindowInfo winfo ) - { - int seq = getNextSeq( conn ); - writeCommand( conn, DAPI_COMMAND_OPENURL, seq ); - writeString( conn, url ); - writeWindowInfo( conn, winfo ); - return seq; - } - -int dapi_writeCommandExecuteUrl( DapiConnection* conn, const char* url, DapiWindowInfo winfo ) - { - int seq = getNextSeq( conn ); - writeCommand( conn, DAPI_COMMAND_EXECUTEURL, seq ); - writeString( conn, url ); - writeWindowInfo( conn, winfo ); - return seq; - } - -int dapi_writeCommandButtonOrder( DapiConnection* conn ) - { - int seq = getNextSeq( conn ); - writeCommand( conn, DAPI_COMMAND_BUTTONORDER, seq ); - return seq; - } - -int dapi_writeCommandRunAsUser( DapiConnection* conn, const char* user, const char* command, - DapiWindowInfo winfo ) - { - int seq = getNextSeq( conn ); - writeCommand( conn, DAPI_COMMAND_RUNASUSER, seq ); - writeString( conn, user ); - writeString( conn, command ); - writeWindowInfo( conn, winfo ); - return seq; - } - -int dapi_writeCommandSuspendScreensaving( DapiConnection* conn, int suspend ) - { - int seq = getNextSeq( conn ); - writeCommand( conn, DAPI_COMMAND_SUSPENDSCREENSAVING, seq ); - writeSocket( conn, &suspend, sizeof( suspend )); - return seq; - } - -int dapi_writeCommandMailTo( DapiConnection* conn, const char* subject, const char* body, - const char* to, const char* cc, const char* bcc, stringarr attachments, DapiWindowInfo winfo ) - { - int seq = getNextSeq( conn ); - writeCommand( conn, DAPI_COMMAND_MAILTO, seq ); - writeString( conn, subject ); - writeString( conn, body ); - writeString( conn, to ); - writeString( conn, cc ); - writeString( conn, bcc ); - writestringarr( conn, attachments ); - writeWindowInfo( conn, winfo ); - return seq; - } - -int dapi_writeCommandLocalFile( DapiConnection* conn, const char* remote, const char* local, - int allow_download, DapiWindowInfo winfo ) - { - int seq = getNextSeq( conn ); - writeCommand( conn, DAPI_COMMAND_LOCALFILE, seq ); - writeString( conn, remote ); - writeString( conn, local ); - writeSocket( conn, &allow_download, sizeof( allow_download )); - writeWindowInfo( conn, winfo ); - return seq; - } - -int dapi_writeCommandUploadFile( DapiConnection* conn, const char* local, const char* file, - int remove_local, DapiWindowInfo winfo ) - { - int seq = getNextSeq( conn ); - writeCommand( conn, DAPI_COMMAND_UPLOADFILE, seq ); - writeString( conn, local ); - writeString( conn, file ); - writeSocket( conn, &remove_local, sizeof( remove_local )); - writeWindowInfo( conn, winfo ); - return seq; - } - -int dapi_writeCommandRemoveTemporaryLocalFile( DapiConnection* conn, const char* local ) - { - int seq = getNextSeq( conn ); - writeCommand( conn, DAPI_COMMAND_REMOVETEMPORARYLOCALFILE, seq ); - writeString( conn, local ); - return seq; - } - -int dapi_writeCommandAddressBookList( DapiConnection* conn ) - { - int seq = getNextSeq( conn ); - writeCommand( conn, DAPI_COMMAND_ADDRESSBOOKLIST, seq ); - return seq; - } - -int dapi_writeCommandAddressBookGetName( DapiConnection* conn, const char* id ) - { - int seq = getNextSeq( conn ); - writeCommand( conn, DAPI_COMMAND_ADDRESSBOOKGETNAME, seq ); - writeString( conn, id ); - return seq; - } - -int dapi_writeCommandAddressBookGetEmails( DapiConnection* conn, const char* id ) - { - int seq = getNextSeq( conn ); - writeCommand( conn, DAPI_COMMAND_ADDRESSBOOKGETEMAILS, seq ); - writeString( conn, id ); - return seq; - } - -int dapi_writeCommandAddressBookFindByName( DapiConnection* conn, const char* name ) - { - int seq = getNextSeq( conn ); - writeCommand( conn, DAPI_COMMAND_ADDRESSBOOKFINDBYNAME, seq ); - writeString( conn, name ); - return seq; - } - -int dapi_writeCommandAddressBookOwner( DapiConnection* conn ) - { - int seq = getNextSeq( conn ); - writeCommand( conn, DAPI_COMMAND_ADDRESSBOOKOWNER, seq ); - return seq; - } - -int dapi_writeCommandAddressBookGetVCard30( DapiConnection* conn, const char* id ) - { - int seq = getNextSeq( conn ); - writeCommand( conn, DAPI_COMMAND_ADDRESSBOOKGETVCARD30, seq ); - writeString( conn, id ); - return seq; - } - -void dapi_writeReplyInit( DapiConnection* conn, int seq, int ok ) - { - writeCommand( conn, DAPI_REPLY_INIT, seq ); - writeSocket( conn, &ok, sizeof( ok )); - } - -void dapi_writeReplyCapabilities( DapiConnection* conn, int seq, intarr capabitilies, - int ok ) - { - writeCommand( conn, DAPI_REPLY_CAPABILITIES, seq ); - writeintarr( conn, capabitilies ); - writeSocket( conn, &ok, sizeof( ok )); - } - -void dapi_writeReplyOpenUrl( DapiConnection* conn, int seq, int ok ) - { - writeCommand( conn, DAPI_REPLY_OPENURL, seq ); - writeSocket( conn, &ok, sizeof( ok )); - } - -void dapi_writeReplyExecuteUrl( DapiConnection* conn, int seq, int ok ) - { - writeCommand( conn, DAPI_REPLY_EXECUTEURL, seq ); - writeSocket( conn, &ok, sizeof( ok )); - } - -void dapi_writeReplyButtonOrder( DapiConnection* conn, int seq, int order ) - { - writeCommand( conn, DAPI_REPLY_BUTTONORDER, seq ); - writeSocket( conn, &order, sizeof( order )); - } - -void dapi_writeReplyRunAsUser( DapiConnection* conn, int seq, int ok ) - { - writeCommand( conn, DAPI_REPLY_RUNASUSER, seq ); - writeSocket( conn, &ok, sizeof( ok )); - } - -void dapi_writeReplySuspendScreensaving( DapiConnection* conn, int seq, int ok ) - { - writeCommand( conn, DAPI_REPLY_SUSPENDSCREENSAVING, seq ); - writeSocket( conn, &ok, sizeof( ok )); - } - -void dapi_writeReplyMailTo( DapiConnection* conn, int seq, int ok ) - { - writeCommand( conn, DAPI_REPLY_MAILTO, seq ); - writeSocket( conn, &ok, sizeof( ok )); - } - -void dapi_writeReplyLocalFile( DapiConnection* conn, int seq, const char* result ) - { - writeCommand( conn, DAPI_REPLY_LOCALFILE, seq ); - writeString( conn, result ); - } - -void dapi_writeReplyUploadFile( DapiConnection* conn, int seq, int ok ) - { - writeCommand( conn, DAPI_REPLY_UPLOADFILE, seq ); - writeSocket( conn, &ok, sizeof( ok )); - } - -void dapi_writeReplyRemoveTemporaryLocalFile( DapiConnection* conn, int seq, int ok ) - { - writeCommand( conn, DAPI_REPLY_REMOVETEMPORARYLOCALFILE, seq ); - writeSocket( conn, &ok, sizeof( ok )); - } - -void dapi_writeReplyAddressBookList( DapiConnection* conn, int seq, stringarr idlist, - int ok ) - { - writeCommand( conn, DAPI_REPLY_ADDRESSBOOKLIST, seq ); - writestringarr( conn, idlist ); - writeSocket( conn, &ok, sizeof( ok )); - } - -void dapi_writeReplyAddressBookGetName( DapiConnection* conn, int seq, const char* givenname, - const char* familyname, const char* fullname, int ok ) - { - writeCommand( conn, DAPI_REPLY_ADDRESSBOOKGETNAME, seq ); - writeString( conn, givenname ); - writeString( conn, familyname ); - writeString( conn, fullname ); - writeSocket( conn, &ok, sizeof( ok )); - } - -void dapi_writeReplyAddressBookGetEmails( DapiConnection* conn, int seq, stringarr emaillist, - int ok ) - { - writeCommand( conn, DAPI_REPLY_ADDRESSBOOKGETEMAILS, seq ); - writestringarr( conn, emaillist ); - writeSocket( conn, &ok, sizeof( ok )); - } - -void dapi_writeReplyAddressBookFindByName( DapiConnection* conn, int seq, stringarr idlist, - int ok ) - { - writeCommand( conn, DAPI_REPLY_ADDRESSBOOKFINDBYNAME, seq ); - writestringarr( conn, idlist ); - writeSocket( conn, &ok, sizeof( ok )); - } - -void dapi_writeReplyAddressBookOwner( DapiConnection* conn, int seq, const char* id, - int ok ) - { - writeCommand( conn, DAPI_REPLY_ADDRESSBOOKOWNER, seq ); - writeString( conn, id ); - writeSocket( conn, &ok, sizeof( ok )); - } - -void dapi_writeReplyAddressBookGetVCard30( DapiConnection* conn, int seq, const char* vcard, - int ok ) - { - writeCommand( conn, DAPI_REPLY_ADDRESSBOOKGETVCARD30, seq ); - writeString( conn, vcard ); - writeSocket( conn, &ok, sizeof( ok )); - } - -int dapi_writeCommandOpenUrl_Window( DapiConnection* conn, const char* url, long winfo ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - int seq = dapi_writeCommandOpenUrl( conn, url, winfo_ ); - dapi_freeWindowInfo( winfo_ ); - return seq; - } - -int dapi_writeCommandExecuteUrl_Window( DapiConnection* conn, const char* url, long winfo ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - int seq = dapi_writeCommandExecuteUrl( conn, url, winfo_ ); - dapi_freeWindowInfo( winfo_ ); - return seq; - } - -int dapi_writeCommandRunAsUser_Window( DapiConnection* conn, const char* user, const char* command, - long winfo ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - int seq = dapi_writeCommandRunAsUser( conn, user, command, winfo_ ); - dapi_freeWindowInfo( winfo_ ); - return seq; - } - -int dapi_writeCommandMailTo_Window( DapiConnection* conn, const char* subject, const char* body, - const char* to, const char* cc, const char* bcc, stringarr attachments, long winfo ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - int seq = dapi_writeCommandMailTo( conn, subject, body, to, cc, bcc, attachments, winfo_ ); - dapi_freeWindowInfo( winfo_ ); - return seq; - } - -int dapi_writeCommandLocalFile_Window( DapiConnection* conn, const char* remote, const char* local, - int allow_download, long winfo ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - int seq = dapi_writeCommandLocalFile( conn, remote, local, allow_download, winfo_ ); - dapi_freeWindowInfo( winfo_ ); - return seq; - } - -int dapi_writeCommandUploadFile_Window( DapiConnection* conn, const char* local, const char* file, - int remove_local, long winfo ) - { - DapiWindowInfo winfo_; - dapi_windowInfoInitWindow( &winfo_, winfo ); - int seq = dapi_writeCommandUploadFile( conn, local, file, remove_local, winfo_ ); - dapi_freeWindowInfo( winfo_ ); - return seq; - } - diff --git a/kde/gen/comm_generated.h b/kde/gen/comm_generated.h deleted file mode 100644 index ecd2920..0000000 --- a/kde/gen/comm_generated.h +++ /dev/null @@ -1,134 +0,0 @@ -int dapi_readCommand( DapiConnection* conn, int* comm, int* seq ); -int dapi_readCommandInit( DapiConnection* conn ); -int dapi_writeCommandInit( DapiConnection* conn ); -int dapi_readReplyInit( DapiConnection* conn, int* ok ); -void dapi_writeReplyInit( DapiConnection* conn, int seq, int ok ); -int dapi_readCommandCapabilities( DapiConnection* conn ); -int dapi_writeCommandCapabilities( DapiConnection* conn ); -int dapi_readReplyCapabilities( DapiConnection* conn, intarr* capabitilies, int* ok ); -void dapi_writeReplyCapabilities( DapiConnection* conn, int seq, intarr capabitilies, - int ok ); -int dapi_readCommandOpenUrl( DapiConnection* conn, char** url, DapiWindowInfo* winfo ); -int dapi_writeCommandOpenUrl( DapiConnection* conn, const char* url, DapiWindowInfo winfo ); -int dapi_writeCommandOpenUrl_Window( DapiConnection* conn, const char* url, long winfo ); -int dapi_readReplyOpenUrl( DapiConnection* conn, int* ok ); -void dapi_writeReplyOpenUrl( DapiConnection* conn, int seq, int ok ); -int dapi_readCommandExecuteUrl( DapiConnection* conn, char** url, DapiWindowInfo* winfo ); -int dapi_writeCommandExecuteUrl( DapiConnection* conn, const char* url, DapiWindowInfo winfo ); -int dapi_writeCommandExecuteUrl_Window( DapiConnection* conn, const char* url, long winfo ); -int dapi_readReplyExecuteUrl( DapiConnection* conn, int* ok ); -void dapi_writeReplyExecuteUrl( DapiConnection* conn, int seq, int ok ); -int dapi_readCommandButtonOrder( DapiConnection* conn ); -int dapi_writeCommandButtonOrder( DapiConnection* conn ); -int dapi_readReplyButtonOrder( DapiConnection* conn, int* order ); -void dapi_writeReplyButtonOrder( DapiConnection* conn, int seq, int order ); -int dapi_readCommandRunAsUser( DapiConnection* conn, char** user, char** command, - DapiWindowInfo* winfo ); -int dapi_writeCommandRunAsUser( DapiConnection* conn, const char* user, const char* command, - DapiWindowInfo winfo ); -int dapi_writeCommandRunAsUser_Window( DapiConnection* conn, const char* user, const char* command, - long winfo ); -int dapi_readReplyRunAsUser( DapiConnection* conn, int* ok ); -void dapi_writeReplyRunAsUser( DapiConnection* conn, int seq, int ok ); -int dapi_readCommandSuspendScreensaving( DapiConnection* conn, int* suspend ); -int dapi_writeCommandSuspendScreensaving( DapiConnection* conn, int suspend ); -int dapi_readReplySuspendScreensaving( DapiConnection* conn, int* ok ); -void dapi_writeReplySuspendScreensaving( DapiConnection* conn, int seq, int ok ); -int dapi_readCommandMailTo( DapiConnection* conn, char** subject, char** body, char** to, - char** cc, char** bcc, stringarr* attachments, DapiWindowInfo* winfo ); -int dapi_writeCommandMailTo( DapiConnection* conn, const char* subject, const char* body, - const char* to, const char* cc, const char* bcc, stringarr attachments, DapiWindowInfo winfo ); -int dapi_writeCommandMailTo_Window( DapiConnection* conn, const char* subject, const char* body, - const char* to, const char* cc, const char* bcc, stringarr attachments, long winfo ); -int dapi_readReplyMailTo( DapiConnection* conn, int* ok ); -void dapi_writeReplyMailTo( DapiConnection* conn, int seq, int ok ); -int dapi_readCommandLocalFile( DapiConnection* conn, char** remote, char** local, - int* allow_download, DapiWindowInfo* winfo ); -int dapi_writeCommandLocalFile( DapiConnection* conn, const char* remote, const char* local, - int allow_download, DapiWindowInfo winfo ); -int dapi_writeCommandLocalFile_Window( DapiConnection* conn, const char* remote, const char* local, - int allow_download, long winfo ); -int dapi_readReplyLocalFile( DapiConnection* conn, char** result ); -void dapi_writeReplyLocalFile( DapiConnection* conn, int seq, const char* result ); -int dapi_readCommandUploadFile( DapiConnection* conn, char** local, char** file, int* remove_local, - DapiWindowInfo* winfo ); -int dapi_writeCommandUploadFile( DapiConnection* conn, const char* local, const char* file, - int remove_local, DapiWindowInfo winfo ); -int dapi_writeCommandUploadFile_Window( DapiConnection* conn, const char* local, const char* file, - int remove_local, long winfo ); -int dapi_readReplyUploadFile( DapiConnection* conn, int* ok ); -void dapi_writeReplyUploadFile( DapiConnection* conn, int seq, int ok ); -int dapi_readCommandRemoveTemporaryLocalFile( DapiConnection* conn, char** local ); -int dapi_writeCommandRemoveTemporaryLocalFile( DapiConnection* conn, const char* local ); -int dapi_readReplyRemoveTemporaryLocalFile( DapiConnection* conn, int* ok ); -void dapi_writeReplyRemoveTemporaryLocalFile( DapiConnection* conn, int seq, int ok ); -int dapi_readCommandAddressBookList( DapiConnection* conn ); -int dapi_writeCommandAddressBookList( DapiConnection* conn ); -int dapi_readReplyAddressBookList( DapiConnection* conn, stringarr* idlist, int* ok ); -void dapi_writeReplyAddressBookList( DapiConnection* conn, int seq, stringarr idlist, - int ok ); -int dapi_readCommandAddressBookGetName( DapiConnection* conn, char** id ); -int dapi_writeCommandAddressBookGetName( DapiConnection* conn, const char* id ); -int dapi_readReplyAddressBookGetName( DapiConnection* conn, char** givenname, char** familyname, - char** fullname, int* ok ); -void dapi_writeReplyAddressBookGetName( DapiConnection* conn, int seq, const char* givenname, - const char* familyname, const char* fullname, int ok ); -int dapi_readCommandAddressBookGetEmails( DapiConnection* conn, char** id ); -int dapi_writeCommandAddressBookGetEmails( DapiConnection* conn, const char* id ); -int dapi_readReplyAddressBookGetEmails( DapiConnection* conn, stringarr* emaillist, - int* ok ); -void dapi_writeReplyAddressBookGetEmails( DapiConnection* conn, int seq, stringarr emaillist, - int ok ); -int dapi_readCommandAddressBookFindByName( DapiConnection* conn, char** name ); -int dapi_writeCommandAddressBookFindByName( DapiConnection* conn, const char* name ); -int dapi_readReplyAddressBookFindByName( DapiConnection* conn, stringarr* idlist, - int* ok ); -void dapi_writeReplyAddressBookFindByName( DapiConnection* conn, int seq, stringarr idlist, - int ok ); -int dapi_readCommandAddressBookOwner( DapiConnection* conn ); -int dapi_writeCommandAddressBookOwner( DapiConnection* conn ); -int dapi_readReplyAddressBookOwner( DapiConnection* conn, char** id, int* ok ); -void dapi_writeReplyAddressBookOwner( DapiConnection* conn, int seq, const char* id, - int ok ); -int dapi_readCommandAddressBookGetVCard30( DapiConnection* conn, char** id ); -int dapi_writeCommandAddressBookGetVCard30( DapiConnection* conn, const char* id ); -int dapi_readReplyAddressBookGetVCard30( DapiConnection* conn, char** vcard, int* ok ); -void dapi_writeReplyAddressBookGetVCard30( DapiConnection* conn, int seq, const char* vcard, - int ok ); -enum - { - DAPI_COMMAND_INIT, - DAPI_REPLY_INIT, - DAPI_COMMAND_CAPABILITIES, - DAPI_REPLY_CAPABILITIES, - DAPI_COMMAND_OPENURL, - DAPI_REPLY_OPENURL, - DAPI_COMMAND_EXECUTEURL, - DAPI_REPLY_EXECUTEURL, - DAPI_COMMAND_BUTTONORDER, - DAPI_REPLY_BUTTONORDER, - DAPI_COMMAND_RUNASUSER, - DAPI_REPLY_RUNASUSER, - DAPI_COMMAND_SUSPENDSCREENSAVING, - DAPI_REPLY_SUSPENDSCREENSAVING, - DAPI_COMMAND_MAILTO, - DAPI_REPLY_MAILTO, - DAPI_COMMAND_LOCALFILE, - DAPI_REPLY_LOCALFILE, - DAPI_COMMAND_UPLOADFILE, - DAPI_REPLY_UPLOADFILE, - DAPI_COMMAND_REMOVETEMPORARYLOCALFILE, - DAPI_REPLY_REMOVETEMPORARYLOCALFILE, - DAPI_COMMAND_ADDRESSBOOKLIST, - DAPI_REPLY_ADDRESSBOOKLIST, - DAPI_COMMAND_ADDRESSBOOKGETNAME, - DAPI_REPLY_ADDRESSBOOKGETNAME, - DAPI_COMMAND_ADDRESSBOOKGETEMAILS, - DAPI_REPLY_ADDRESSBOOKGETEMAILS, - DAPI_COMMAND_ADDRESSBOOKFINDBYNAME, - DAPI_REPLY_ADDRESSBOOKFINDBYNAME, - DAPI_COMMAND_ADDRESSBOOKOWNER, - DAPI_REPLY_ADDRESSBOOKOWNER, - DAPI_COMMAND_ADDRESSBOOKGETVCARD30, - DAPI_REPLY_ADDRESSBOOKGETVCARD30 - }; diff --git a/kde/gen/comm_internal_generated.h b/kde/gen/comm_internal_generated.h deleted file mode 100644 index 95ab229..0000000 --- a/kde/gen/comm_internal_generated.h +++ /dev/null @@ -1,96 +0,0 @@ -typedef struct command_header - { - int magic; - int seq; - int command; - } command_header; -typedef struct command_init - { - int dummy; - } command_init; -typedef struct command_openurl - { - int url_len; /* char* url */ - } command_openurl; -typedef struct command_executeurl - { - int url_len; /* char* url */ - } command_executeurl; -typedef struct command_buttonorder - { - int dummy; - } command_buttonorder; -typedef struct command_runasuser - { - int user_len; /* char* user */ - int command_len; /* char* command */ - } command_runasuser; -typedef struct command_suspendscreensaving - { - int suspend; - } command_suspendscreensaving; -typedef struct command_mailto - { - int subject_len; /* char* subject */ - int body_len; /* char* body */ - int to_len; /* char* to */ - int cc_len; /* char* cc */ - int bcc_len; /* char* bcc */ - int attachments_count; /* char** attachments */ - } command_mailto; -typedef struct command_localfile - { - int remote_len; /* char* remote */ - int local_len; /* char* local */ - int allow_download; - } command_localfile; -typedef struct command_uploadfile - { - int local_len; /* char* local */ - int file_len; /* char* file */ - int remove_local; - } command_uploadfile; -typedef struct command_removetemporarylocalfile - { - int local_len; /* char* local */ - } command_removetemporarylocalfile; -typedef struct reply_init - { - int ok; - } reply_init; -typedef struct reply_openurl - { - int ok; - } reply_openurl; -typedef struct reply_executeurl - { - int ok; - } reply_executeurl; -typedef struct reply_buttonorder - { - int order; - } reply_buttonorder; -typedef struct reply_runasuser - { - int ok; - } reply_runasuser; -typedef struct reply_suspendscreensaving - { - int ok; - } reply_suspendscreensaving; -typedef struct reply_mailto - { - int ok; - } reply_mailto; -typedef struct reply_localfile - { - int result_len; /* char* result */ - } reply_localfile; -typedef struct reply_uploadfile - { - int ok; - } reply_uploadfile; -typedef struct reply_removetemporarylocalfile - { - int ok; - } reply_removetemporarylocalfile; diff --git a/kde/gen/gen.cpp b/kde/gen/gen.cpp deleted file mode 100644 index 2352b49..0000000 --- a/kde/gen/gen.cpp +++ /dev/null @@ -1,893 +0,0 @@ -#include <qfile.h> -#include <qstring.h> -#include <qvaluelist.h> -#include <stdlib.h> - -/* - -FUNCTION <name> - ARG <name> - TYPE <type> - string, string[], int, ... - OUT - is used in reply - RETURN - this OUT argument is return value of high-level call - ENDARG -ENDFUNCTION - -*/ - -struct Arg - { - Arg() : out( false ), ret( false ) {} - QString cType( bool out ) const; - static QString cType( const QString& type, bool out ); - void readCommand( QTextStream& stream ) const; - void writeCommand( QTextStream& stream ) const; - QString name; - QString type; - bool out; - bool ret; - static QValueList< Arg > stripOutArguments( const QValueList< Arg >& ); - static QValueList< Arg > stripNonOutArguments( const QValueList< Arg >& ); - static QValueList< Arg > stripSimpleArguments( const QValueList< Arg >& ); // leaves only string etc. - static QValueList< Arg > stripReturnArgument( const QValueList< Arg >& ); - }; - -typedef QValueList< Arg > ArgList; - -enum FunctionType - { - ReadCommand, WriteCommand, ReadReply, WriteReply, - HighLevel, HighLevelCallback, Callback - }; - -struct Function - { - Function() {} - QString returnType() const; - QString name; - ArgList args; - void generateC( QTextStream& stream, int indent, FunctionType type ) const; - bool hasWindowInfo() const; - Function convertWindowInfo( Arg& warg ) const; - }; - -QValueList< Function > functions; - -QFile* input_file = NULL; -QTextStream* input_stream = NULL; -static QString last_line; -int last_lineno = 0; - -#define check( arg ) my_check( __FILE__, __LINE__, arg ) -#define error() my_error( __FILE__, __LINE__ ) - -void my_error( const char* file, int line ) - { - fprintf( stderr, "Error: %s: %d\n", file, line ); - fprintf( stderr, "Line %d: %s\n", last_lineno, last_line.utf8().data()); - abort(); - } - -void my_check( const char* file, int line, bool arg ) - { - if( !arg ) - my_error( file, line ); - } - -QString Arg::cType( bool out ) const - { - return cType( type, out ); - } - -QString Arg::cType( const QString& type, bool out ) - { - if( type.contains( "[]" )) - return QString( type ).replace( "[]", "arr" ); - if( type == "bool" ) - return "int"; - else if( type == "string" ) - return out ? "char*" : "const char*"; - else if( type == "windowinfo" ) - return "DapiWindowInfo"; - else - return type; - } - -ArgList Arg::stripOutArguments( const ArgList& args ) - { - ArgList new_args; - for( ArgList::ConstIterator it = args.begin(); - it != args.end(); - ++it ) - { - const Arg& arg = (*it); - if( !arg.out ) - new_args.append( arg ); - } - return new_args; - } - -ArgList Arg::stripNonOutArguments( const ArgList& args ) - { - ArgList new_args; - for( ArgList::ConstIterator it = args.begin(); - it != args.end(); - ++it ) - { - const Arg& arg = (*it); - if( arg.out ) - new_args.append( arg ); - } - return new_args; - } - -ArgList Arg::stripSimpleArguments( const ArgList& args ) - { - ArgList new_args; - for( ArgList::ConstIterator it = args.begin(); - it != args.end(); - ++it ) - { - const Arg& arg = (*it); - if( arg.type == "string" - || arg.type == "windowinfo" - || arg.type.contains( "[]" )) - new_args.append( arg ); - } - return new_args; - } - -ArgList Arg::stripReturnArgument( const ArgList& args ) - { - ArgList new_args; - bool was = false; - for( ArgList::ConstIterator it = args.begin(); - it != args.end(); - ++it ) - { - const Arg& arg = (*it); - if( ! arg.ret ) - new_args.append( arg ); - else - { - if( was ) - error(); - was = true; - } - } - return new_args; - } - -void Arg::readCommand( QTextStream& stream ) const - { - if( type.endsWith( "[]" )) - stream << " *" << name << " = read" << cType( false ) << "( conn );\n"; - else if( type == "string" ) - stream << " *" << name << " = readString( conn );\n"; - else if( type == "windowinfo" ) - stream << " *" << name << " = readWindowInfo( conn );\n"; - else - stream << " readSocket( conn, " << name << ", sizeof( *" << name << " ));\n"; - } - -void Arg::writeCommand( QTextStream& stream ) const - { - if( type.endsWith( "[]" )) - stream << " write" << cType( false ) << "( conn, " << name << " );\n"; - else if( type == "string" ) - stream << " writeString( conn, " << name << " );\n"; - else if( type == "windowinfo" ) - stream << " writeWindowInfo( conn, " << name << " );\n"; - else - stream << " writeSocket( conn, &" << name << ", sizeof( " << name << " ));\n"; - } - -QString makeIndent( int indent ) - { - return indent > 0 ? QString().fill( ' ', indent ) : ""; - } - -void Function::generateC( QTextStream& stream, int indent, FunctionType type ) const - { - QString line; - line += makeIndent( indent ); - if( type == Callback ) - line += "typedef "; - if( type == HighLevel ) - { - QString rettype = returnType(); - line += Arg::cType( rettype, true ); - } - else - line += type != WriteReply && type != Callback ? "int" : "void"; - if( type == Callback ) - line += "( *"; - line += " dapi_"; - if( type == HighLevel || type == Callback ) - ; // nothing - else if( type == HighLevelCallback ) - line += "callback"; - else - { - line += type == ReadCommand || type == ReadReply ? "read" : "write"; - line += type == ReadCommand || type == WriteCommand ? "Command" : "Reply"; - } - line += name; - if( type == Callback ) - line += "_callback )"; - line += "( DapiConnection* conn"; - if( type == WriteReply || type == Callback ) - line += ", int seq"; - ArgList args2; - if( type == HighLevel ) - args2 = Arg::stripReturnArgument( args ); - else if( type == HighLevelCallback ) - args2 = Arg::stripOutArguments( args ); - else if( type == Callback ) - args2 = Arg::stripNonOutArguments( args ); - else if( type == ReadReply || type == WriteReply ) - args2 = Arg::stripNonOutArguments( args ); - else - args2 = Arg::stripOutArguments( args ); - for( ArgList::ConstIterator it = args2.begin(); - it != args2.end(); - ++it ) - { - const Arg& arg = (*it); - line += ","; - if( line.length() > 80 ) - { - stream << line << "\n"; - line = makeIndent( indent + 4 ); - } - else - line += " "; - line += arg.cType( type == ReadCommand || type == ReadReply - || ( type == HighLevel && arg.out )); - if( type == ReadCommand || type == ReadReply || ( type == HighLevel && arg.out )) - line += "*"; - line += " " + arg.name; - } - if( type == HighLevelCallback ) - { - if( line.length() > 80 ) - { - stream << line << ",\n"; - line = makeIndent( indent + 4 ); - } - else - line += ", "; - line += "dapi_" + QString( name ).remove( "_Window" ) + "_callback callback"; - } - line += " )"; - stream << line; - } - -QString Function::returnType() const - { - for( ArgList::ConstIterator it = args.begin(); - it != args.end(); - ++it ) - { - const Arg& arg = (*it); - if( arg.ret ) - return arg.type; - } - return "void"; - } - -bool Function::hasWindowInfo() const - { - for( ArgList::ConstIterator it = args.begin(); - it != args.end(); - ++it ) - { - const Arg& arg = (*it); - if( arg.type == "windowinfo" && !arg.out ) - return true; - } - return false; - } - -Function Function::convertWindowInfo( Arg& warg ) const - { - if( !hasWindowInfo()) - error(); - Function ret = *this; - ret.name += "_Window"; - for( ArgList::Iterator it = ret.args.begin(); - it != ret.args.end(); - ++it ) - { - Arg& arg = (*it); - if( arg.type == "windowinfo" && !arg.out ) - { - warg = arg; - arg.type = "long"; - } - } - return ret; - } - -void openInputFile( const QString& filename ) - { - check( input_file == NULL ); - input_file = new QFile( filename ); - if( !input_file->open( IO_ReadOnly )) - error(); - input_stream = new QTextStream( input_file ); - last_lineno = 0; - } - -QString getInputLine() - { - while( !input_stream->atEnd()) - { - QString line = input_stream->readLine().stripWhiteSpace(); - ++last_lineno; - last_line = line; - if( line.isEmpty() || line[ 0 ] == '#' ) - continue; - return line; - } - return QString::null; - } - -void closeInputFile() - { - delete input_stream; - delete input_file; - input_stream = NULL; - input_file = NULL; - } - -void parseArg( Function& function, const QString& details ) - { - Arg arg; - arg.name = details; - for(;;) - { - QString line = getInputLine(); - if( line.isEmpty()) - break; - if( line.startsWith( "ENDARG" )) - { - check( !arg.type.isEmpty()); - function.args.append( arg ); - return; - } - else if( line.startsWith( "TYPE" )) - { - check( arg.type.isEmpty()); - arg.type = line.mid( strlen( "TYPE" )).stripWhiteSpace(); - } - else if( line.startsWith( "OUT" )) - { - arg.out = true; - } - else if( line.startsWith( "RETURN" )) - { - arg.out = true; - arg.ret = true; - } - else - error(); - } - error(); - } - -void parseFunction( const QString& details ) - { - Function function; - function.name = details; - for(;;) - { - QString line = getInputLine(); - if( line.isEmpty()) - break; - if( line.startsWith( "ENDFUNCTION" )) - { - functions.append( function ); - return; - } - else if( line.startsWith( "ARG" )) - { - parseArg( function, line.mid( strlen( "ARG" )).stripWhiteSpace()); - } - else - error(); - } - error(); - } - -void parse() - { - openInputFile( "gen.txt" ); - for(;;) - { - QString line = getInputLine(); - if( line.isEmpty()) - break; - if( line.startsWith( "FUNCTION" )) - { - parseFunction( line.mid( strlen( "FUNCTION" )).stripWhiteSpace()); - } - else - error(); - } - closeInputFile(); - } - -void generateSharedCommH() - { - QFile file( "comm_generated.h" ); - if( !file.open( IO_WriteOnly )) - error(); - QTextStream stream( &file ); - stream << "int dapi_readCommand( DapiConnection* conn, int* comm, int* seq );\n"; - for( QValueList< Function >::ConstIterator it = functions.begin(); - it != functions.end(); - ++it ) - { - const Function& function = *it; - function.generateC( stream, 0, ReadCommand ); - stream << ";\n"; - function.generateC( stream, 0, WriteCommand ); - stream << ";\n"; - if( function.hasWindowInfo()) - { - Arg dummy; - Function f2 = function.convertWindowInfo( dummy ); - f2.generateC( stream, 0, WriteCommand ); - stream << ";\n"; - } - function.generateC( stream, 0, ReadReply ); - stream << ";\n"; - function.generateC( stream, 0, WriteReply ); - stream << ";\n"; - } - stream << "enum\n {"; - bool needs_comma = false; - for( QValueList< Function >::ConstIterator it = functions.begin(); - it != functions.end(); - ++it ) - { - const Function& function = *it; - if( needs_comma ) - stream << ","; - needs_comma = true; - stream << "\n DAPI_COMMAND_" << function.name.upper() - << ",\n DAPI_REPLY_" << function.name.upper(); - } - stream << "\n };\n"; - } - -void generateSharedCommCReadFunctions( QTextStream& stream, FunctionType type ) - { - for( QValueList< Function >::ConstIterator it = functions.begin(); - it != functions.end(); - ++it ) - { - const Function& function = *it; - function.generateC( stream, 0, type ); - stream << "\n {\n"; - ArgList args = type == ReadCommand ? Arg::stripOutArguments( function.args ) - : Arg::stripNonOutArguments( function.args ); - for( ArgList::ConstIterator it = args.begin(); - it != args.end(); - ++it ) - { - const Arg& arg = (*it); - arg.readCommand( stream ); - } - // TODO tady chybi kontrola, ze nebyla chyba pri cteni - // a udelat to nejak vic genericky -#if 0 - ArgList args_extra = Arg::stripSimpleArguments( args ); - if( !args_extra.isEmpty()) - { - stream << " if("; - bool need_op = false; - for( ArgList::ConstIterator it = args_extra.begin(); - it != args_extra.end(); - ++it ) - { - const Arg& arg = (*it); - if( need_op ) - stream << " ||"; - stream << " *" << arg.name << " == NULL"; - need_op = true; - } - stream << " )\n {\n"; - for( ArgList::ConstIterator it = args_extra.begin(); - it != args_extra.end(); - ++it ) - { - const Arg& arg = (*it); - stream << " free( *" << arg.name << " );\n"; - } - stream << " return 0;\n }\n"; - } -#endif - stream << " return 1;\n" - << " }\n\n"; - } - } - -void generateSharedCommCWriteFunctions( QTextStream& stream, FunctionType type ) - { - for( QValueList< Function >::ConstIterator it = functions.begin(); - it != functions.end(); - ++it ) - { - const Function& function = *it; - function.generateC( stream, 0, type ); - stream << "\n {\n"; - if( type == WriteCommand ) - { - stream << " int seq = getNextSeq( conn );\n" - << " writeCommand( conn, DAPI_COMMAND_" << function.name.upper() << ", seq );\n"; - } - else - { - stream << " writeCommand( conn, DAPI_REPLY_" << function.name.upper() << ", seq );\n"; - } - ArgList args2 = type == WriteCommand ? Arg::stripOutArguments( function.args ) : Arg::stripNonOutArguments( function.args ); - for( ArgList::ConstIterator it = args2.begin(); - it != args2.end(); - ++it ) - { - const Arg& arg = (*it); - arg.writeCommand( stream ); - } - // TODO kontrola, ze nebyla chyba pri zapisu? - if( type == WriteCommand ) - stream << " return seq;\n"; - stream << " }\n\n"; - } - } - -static void generateSharedCommCWindow( QTextStream& stream ) - { - for( QValueList< Function >::ConstIterator it = functions.begin(); - it != functions.end(); - ++it ) - { - const Function& function = *it; - if( !function.hasWindowInfo()) - continue; - Arg warg; - Function f2 = function.convertWindowInfo( warg ); - f2.generateC( stream, 0, WriteCommand ); - stream << "\n {\n" - << " DapiWindowInfo winfo_;\n" - << " dapi_windowInfoInitWindow( &winfo_, " << warg.name << " );\n" - << " int seq = dapi_writeCommand" << function.name << "( conn"; - ArgList args = Arg::stripOutArguments( function.args ); - for( ArgList::ConstIterator it = args.begin(); - it != args.end(); - ++it ) - { - const Arg& argument = *it; - if( argument.type == "windowinfo" ) - { - stream << ", winfo_"; - continue; - } - stream << ", " << argument.name; - } - stream << " );\n" - << " dapi_freeWindowInfo( winfo_ );\n" - << " return seq;\n" - << " }\n\n"; - } - } - -void generateSharedCommC() - { - QFile file( "comm_generated.c" ); - if( !file.open( IO_WriteOnly )) - error(); - QTextStream stream( &file ); - generateSharedCommCReadFunctions( stream, ReadCommand ); - generateSharedCommCReadFunctions( stream, ReadReply ); - generateSharedCommCWriteFunctions( stream, WriteCommand ); - generateSharedCommCWriteFunctions( stream, WriteReply ); - generateSharedCommCWindow( stream ); - } - -void generateSharedCallsH() - { - QFile file( "calls_generated.h" ); - if( !file.open( IO_WriteOnly )) - error(); - QTextStream stream( &file ); - for( QValueList< Function >::ConstIterator it = functions.begin(); - it != functions.end(); - ++it ) - { - const Function& function = *it; - function.generateC( stream, 0, HighLevel ); - stream << ";\n"; - if( function.hasWindowInfo()) - { - Arg dummy; - Function f2 = function.convertWindowInfo( dummy ); - f2.generateC( stream, 0, HighLevel ); - stream << ";\n"; - } - } - } - -static void generateSharedCallsCWindow( QTextStream& stream ) - { - for( QValueList< Function >::ConstIterator it = functions.begin(); - it != functions.end(); - ++it ) - { - const Function& function = *it; - if( !function.hasWindowInfo()) - continue; - Arg warg; - Function f2 = function.convertWindowInfo( warg ); - f2.generateC( stream, 0, HighLevel ); - stream << "\n {\n" - << " DapiWindowInfo winfo_;\n" - << " dapi_windowInfoInitWindow( &winfo_, " << warg.name << " );\n" - << " " << Arg::cType( function.returnType(), true ) << " ret = dapi_" << function.name << "( conn"; - ArgList args = Arg::stripReturnArgument( function.args ); - for( ArgList::ConstIterator it = args.begin(); - it != args.end(); - ++it ) - { - const Arg& argument = *it; - if( argument.type == "windowinfo" ) - { - stream << ", winfo_"; - continue; - } - stream << ", " << argument.name; - } - stream << " );\n" - << " dapi_freeWindowInfo( winfo_ );\n" - << " return ret;\n" - << " }\n\n"; - } - } - -void generateSharedCallsC() - { - QFile file( "calls_generated.c" ); - if( !file.open( IO_WriteOnly )) - error(); - QTextStream stream( &file ); - for( QValueList< Function >::ConstIterator it = functions.begin(); - it != functions.end(); - ++it ) - { - const Function& function = *it; - QString rettype = function.returnType(); - function.generateC( stream, 0, HighLevel ); - stream << "\n {\n" - << " int seq;\n"; - stream << " " << Arg::cType( rettype, true ) << " ret;\n"; - stream << " seq = dapi_writeCommand" << function.name << "( conn"; - ArgList args = Arg::stripReturnArgument( function.args ); - ArgList args1 = Arg::stripOutArguments( args ); - for( ArgList::ConstIterator it = args1.begin(); - it != args1.end(); - ++it ) - { - const Arg& arg = (*it); - stream << ", " << arg.name; - } - stream << " );\n" - << " if( seq == 0 )\n" - << " return 0;\n"; - stream << " for(;;)\n" - << " {\n" - << " int comm, seq2;\n" - << " if( !dapi_readCommand( conn, &comm, &seq2 ))\n" - << " return 0;\n" - << " if( seq2 == seq && comm == DAPI_REPLY_" << function.name.upper() << " )\n" - << " break; /* --> */\n" - << " conn->generic_callback( conn, comm, seq2 );\n" - << " }\n" - << " if( !dapi_readReply" << function.name << "( conn"; - ArgList args2 = Arg::stripNonOutArguments( function.args ); - for( ArgList::ConstIterator it = args2.begin(); - it != args2.end(); - ++it ) - { - const Arg& arg = (*it); - if( arg.ret ) - stream << ", &ret"; - else - stream << ", " << arg.name; - } - stream << " ))\n" - << " return 0;\n"; - if( rettype == "string" ) - { - // make sure empty return string is really seen as failure - stream << " if( ret[ 0 ] == \'\\0\' )\n" - << " {\n" - << " free( ret );\n" - << " ret = NULL;\n" - << " }\n"; - } - stream << " return ret;\n" - << " }\n\n"; - } - generateSharedCallsCWindow( stream ); - } - -void generateSharedCallbacksH() - { - QFile file( "callbacks_generated.h" ); - if( !file.open( IO_WriteOnly )) - error(); - QTextStream stream( &file ); - for( QValueList< Function >::ConstIterator it = functions.begin(); - it != functions.end(); - ++it ) - { - const Function& function = *it; - function.generateC( stream, 0, Callback ); - stream << ";\n"; - function.generateC( stream, 0, HighLevelCallback ); - stream << ";\n"; - if( function.hasWindowInfo()) - { - Arg dummy; - Function f2 = function.convertWindowInfo( dummy ); - f2.generateC( stream, 0, HighLevelCallback ); - stream << ";\n"; - } - } - } - -static void generateSharedCallbacksCWindow( QTextStream& stream ) - { - for( QValueList< Function >::ConstIterator it = functions.begin(); - it != functions.end(); - ++it ) - { - const Function& function = *it; - if( !function.hasWindowInfo()) - continue; - Arg warg; - Function f2 = function.convertWindowInfo( warg ); - f2.generateC( stream, 0, HighLevelCallback ); - stream << "\n {\n" - << " DapiWindowInfo winfo_;\n" - << " dapi_windowInfoInitWindow( &winfo_, " << warg.name << " );\n" - << " int seq = dapi_callback" << function.name << "( conn"; - ArgList args = Arg::stripOutArguments( function.args ); - for( ArgList::ConstIterator it = args.begin(); - it != args.end(); - ++it ) - { - const Arg& argument = *it; - if( argument.type == "windowinfo" ) - { - stream << ", winfo_"; - continue; - } - stream << ", " << argument.name; - } - stream << ", callback );\n" - << " dapi_freeWindowInfo( winfo_ );\n" - << " return seq;\n" - << " }\n\n"; - } - } - -void generateSharedCallbacksC() - { - QFile file( "callbacks_generated.c" ); - if( !file.open( IO_WriteOnly )) - error(); - QTextStream stream( &file ); - for( QValueList< Function >::ConstIterator it = functions.begin(); - it != functions.end(); - ++it ) - { - const Function& function = *it; - function.generateC( stream, 0, HighLevelCallback ); - stream << "\n" - << " {\n" - << " int seq;\n" - << " DapiCallbackData* call;\n" - << " seq = dapi_writeCommand" << function.name << "( conn"; - ArgList args2 = Arg::stripOutArguments( function.args ); - for( ArgList::ConstIterator it = args2.begin(); - it != args2.end(); - ++it ) - { - const Arg& arg = *it; - stream << ", " << arg.name; - } - stream << " );\n"; - stream << " if( seq == 0 )\n" - << " return 0;\n" - << " call = malloc( sizeof( *call ));\n" - << " if( call == NULL )\n" - << " return 0;\n" - << " call->seq = seq;\n" - << " call->callback = callback;\n" - << " call->command = DAPI_COMMAND_" << function.name.upper() << ";\n" - << " call->next = conn->callbacks;\n" - << " conn->callbacks = call;\n" - << " return seq;\n" - << " }\n\n"; - } - stream << "static void genericCallbackDispatch( DapiConnection* conn, DapiCallbackData* data, int command, int seq )\n" - << " {\n" - << " switch( command )\n" - << " {\n"; - for( QValueList< Function >::ConstIterator it = functions.begin(); - it != functions.end(); - ++it ) - { - const Function& function = *it; - stream << " case DAPI_REPLY_" << function.name.upper() << ":\n" - << " {\n"; - ArgList args = Arg::stripNonOutArguments( function.args ); - for( ArgList::ConstIterator it = args.begin(); - it != args.end(); - ++it ) - { - const Arg& arg = *it; - stream << makeIndent( 12 ) << arg.cType( true ) << " " << arg.name << ";\n"; - } - // TODO check that command "matches" data->command? i.e. that the reply matches the expected reply - // for the sent command - stream << makeIndent( 12 ) << "dapi_readReply" << function.name << "( conn"; - for( ArgList::ConstIterator it = args.begin(); - it != args.end(); - ++it ) - { - const Arg& arg = *it; - stream << ", &" << arg.name; - } - stream << " );\n" - << makeIndent( 12 ) << "(( dapi_" << function.name << "_callback ) data->callback )( conn, data->seq"; - for( ArgList::ConstIterator it = args.begin(); - it != args.end(); - ++it ) - { - const Arg& arg = *it; - stream << ", " << arg.name; - } - // TODO tady cleanup, stejne jako u calls.c - udelat nejak genericky - stream << " );\n" - << makeIndent( 12 ) << "break;\n" - << makeIndent( 12 ) << "}\n"; - } - stream << " }\n" - << " }\n"; - generateSharedCallbacksCWindow( stream ); - } - -void generateShared() - { - generateSharedCommH(); - generateSharedCommC(); - generateSharedCallsH(); - generateSharedCallsC(); - generateSharedCallbacksH(); - generateSharedCallbacksC(); - } - -void generate() - { - generateShared(); - } - -int main() - { - parse(); - generate(); - return 0; - } diff --git a/kde/gen/gen.txt b/kde/gen/gen.txt deleted file mode 100644 index 66bb5a6..0000000 --- a/kde/gen/gen.txt +++ /dev/null @@ -1,239 +0,0 @@ -FUNCTION Init - ARG ok - TYPE bool - RETURN - ENDARG -ENDFUNCTION - -FUNCTION Capabilities - ARG capabitilies - TYPE int[] - OUT - ENDARG - ARG ok - TYPE bool - RETURN - ENDARG -ENDFUNCTION - -FUNCTION OpenUrl - ARG url - TYPE string - ENDARG - ARG winfo - TYPE windowinfo - ENDARG - ARG ok - TYPE bool - RETURN - ENDARG -ENDFUNCTION - -FUNCTION ExecuteUrl - ARG url - TYPE string - ENDARG - ARG winfo - TYPE windowinfo - ENDARG - ARG ok - TYPE bool - RETURN - ENDARG -ENDFUNCTION - -FUNCTION ButtonOrder - ARG order - TYPE int - RETURN - ENDARG -ENDFUNCTION - -FUNCTION RunAsUser - ARG user - TYPE string - ENDARG - ARG command - TYPE string - ENDARG - ARG winfo - TYPE windowinfo - ENDARG - ARG ok - TYPE bool - RETURN - ENDARG -ENDFUNCTION - -FUNCTION SuspendScreensaving - ARG suspend - TYPE bool - ENDARG - ARG ok - TYPE bool - RETURN - ENDARG -ENDFUNCTION - -FUNCTION MailTo - ARG subject - TYPE string - ENDARG - ARG body - TYPE string - ENDARG - ARG to - TYPE string - ENDARG - ARG cc - TYPE string - ENDARG - ARG bcc - TYPE string - ENDARG - ARG attachments - TYPE string[] - ENDARG - ARG winfo - TYPE windowinfo - ENDARG - ARG ok - TYPE bool - RETURN - ENDARG -ENDFUNCTION - -FUNCTION LocalFile - ARG remote - TYPE string - ENDARG - ARG local - TYPE string - ENDARG - ARG allow_download - TYPE bool - ENDARG - ARG winfo - TYPE windowinfo - ENDARG - ARG result - TYPE string - RETURN - ENDARG -ENDFUNCTION - -FUNCTION UploadFile - ARG local - TYPE string - ENDARG - ARG file - TYPE string - ENDARG - ARG remove_local - TYPE bool - ENDARG - ARG winfo - TYPE windowinfo - ENDARG - ARG ok - TYPE bool - RETURN - ENDARG -ENDFUNCTION - -FUNCTION RemoveTemporaryLocalFile - ARG local - TYPE string - ENDARG - ARG ok - TYPE bool - RETURN - ENDARG -ENDFUNCTION - -FUNCTION AddressBookList - ARG idlist - TYPE string[] - OUT - ENDARG - ARG ok - TYPE bool - RETURN - ENDARG -ENDFUNCTION - -FUNCTION AddressBookGetName - ARG id - TYPE string - ENDARG - ARG givenname - TYPE string - OUT - ENDARG - ARG familyname - TYPE string - OUT - ENDARG - ARG fullname - TYPE string - OUT - ENDARG - ARG ok - TYPE bool - RETURN - ENDARG -ENDFUNCTION - -FUNCTION AddressBookGetEmails - ARG id - TYPE string - ENDARG - ARG emaillist - TYPE string[] - OUT - ENDARG - ARG ok - TYPE bool - RETURN - ENDARG -ENDFUNCTION - -FUNCTION AddressBookFindByName - ARG name - TYPE string - ENDARG - ARG idlist - TYPE string[] - OUT - ENDARG - ARG ok - TYPE bool - RETURN - ENDARG -ENDFUNCTION - -FUNCTION AddressBookOwner - ARG id - TYPE string - OUT - ENDARG - ARG ok - TYPE bool - RETURN - ENDARG -ENDFUNCTION - -FUNCTION AddressBookGetVCard30 - ARG id - TYPE string - ENDARG - ARG vcard - TYPE string - OUT - ENDARG - ARG ok - TYPE bool - RETURN - ENDARG -ENDFUNCTION - diff --git a/lib/.cvsignore b/lib/.cvsignore deleted file mode 100644 index 09980ae..0000000 --- a/lib/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -.deps -.libs -Makefile -Makefile.in -*.lo -*.la diff --git a/lib/Makefile.am b/lib/Makefile.am deleted file mode 100644 index 3786177..0000000 --- a/lib/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ -lib_LTLIBRARIES = libdapi.la - -libdapi_la_SOURCES = comm.c calls.c callbacks.c -libdapi_la_LIBADD = -libdapi_la_LDFLAGS = $(all_libraries) -no-undefined - -INCLUDES = -I$(top_builddir)/include $(all_includes) diff --git a/lib/callbacks.c b/lib/callbacks.c deleted file mode 100644 index 62f402d..0000000 --- a/lib/callbacks.c +++ /dev/null @@ -1,50 +0,0 @@ -#include "callbacks.h" - -#include <stdio.h> -#include <stdlib.h> - -#include "comm_internal.h" - -#include <dapi/callbacks_generated.c> - -DapiGenericCallback dapi_setGenericCallback( DapiConnection* conn, DapiGenericCallback callback ) - { - DapiGenericCallback ret = conn->generic_callback; - conn->generic_callback = callback; - return ret; - } - -void dapi_processData( DapiConnection* conn ) - { - while( dapi_hasData( conn )) - { - int command; - int seq; - if( !dapi_readCommand( conn, &command, &seq )) - return; /* TODO error-handling? */ - conn->generic_callback( conn, command, seq ); - } - } - -void dapi_genericCallback( DapiConnection* conn, int command, int seq ) - { - DapiCallbackData* pos; - DapiCallbackData* prev = NULL; - for( pos = conn->callbacks; - pos != NULL; - prev = pos, pos = pos->next ) - { - if( pos->seq == seq ) - { - if( pos->callback != NULL ) - genericCallbackDispatch( conn, pos, command, seq ); - if( prev != NULL ) - prev = pos->next; - else - conn->callbacks = pos->next; - free( pos ); - return; - } - } -/* TODO handle unhandled */ - } diff --git a/lib/callbacks.h b/lib/callbacks.h deleted file mode 100644 index 333ee82..0000000 --- a/lib/callbacks.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef DAPI_CALLBACKS_H -#define DAPI_CALLBACKS_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <dapi/comm.h> - -#include <dapi/callbacks_generated.h> - -typedef void (*DapiGenericCallback)( DapiConnection* conn, int command, int seq ); - -DapiGenericCallback dapi_setGenericCallback( DapiConnection* conn, DapiGenericCallback callback ); - -void dapi_processData( DapiConnection* conn ); - -void dapi_genericCallback( DapiConnection* conn, int command, int seq ); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/lib/calls.c b/lib/calls.c deleted file mode 100644 index f515269..0000000 --- a/lib/calls.c +++ /dev/null @@ -1,9 +0,0 @@ -#include "calls.h" - -#include <stdio.h> -#include <stdlib.h> - -#include "comm.h" -#include "comm_internal.h" - -#include <dapi/calls_generated.c> diff --git a/lib/calls.h b/lib/calls.h deleted file mode 100644 index 7d26b3d..0000000 --- a/lib/calls.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef DAPI_CALLS_H -#define DAPI_CALLS_H - -#include <dapi/comm.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#include <dapi/calls_generated.h> - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/lib/comm.c b/lib/comm.c deleted file mode 100644 index f368b82..0000000 --- a/lib/comm.c +++ /dev/null @@ -1,368 +0,0 @@ -#include "comm.h" - -#include <errno.h> -#include <fcntl.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <sys/socket.h> -#include <sys/stat.h> -#include <sys/types.h> -#include <sys/un.h> -#include <unistd.h> - -#include "comm_internal.h" -#include "callbacks.h" - -static void getDisplay( char* ret, int max ) - { - char hostname[ 256 ]; - const char* disp = getenv( "DISPLAY" ); - char* pos; - *ret = '\0'; - if( disp == NULL ) - disp = ":0"; - if( *disp == ':' ) - { - gethostname( ret, max ); - hostname[ max - 1 ] = '\0'; - } - strncat( ret, disp, max - 1 ); - pos = strrchr( ret, '.' ); /* strip head */ - if( pos != NULL && pos > strrchr( ret, ':' )) - *pos = '\0'; - } - -static void socketName( char* sock_file, int max ) - { - const char* home; - char display[ 256 ]; - home = getenv( "HOME" ); - getDisplay( display, 255 ); - snprintf( sock_file, max - 1, "%s/.dapi-%s", home, display ); - } - -DapiConnection* dapi_connect() - { - char sock_file[ 256 ]; - int sock; - struct sockaddr_un addr; - DapiConnection* ret; - socketName( sock_file, 255 ); - sock = socket( PF_UNIX, SOCK_STREAM, 0 ); - if( sock < 0 ) - { - perror( "socket" ); - return NULL; - } - addr.sun_family = AF_UNIX; - strcpy( addr.sun_path, sock_file ); - if( connect( sock, ( struct sockaddr* ) &addr, sizeof( addr )) < 0 ) - { - perror( "connect" ); - close( sock ); - return NULL; - } - ret = malloc( sizeof( DapiConnection )); - if( ret != NULL ) - { - ret->sock = sock; - ret->generic_callback = dapi_genericCallback; - ret->in_server = 0; - ret->last_seq = 0; - ret->callbacks = NULL; - } - return ret; - } - -int dapi_bindSocket() - { - char sock_file[ 256 ]; - int sock; - struct sockaddr_un addr; - socketName( sock_file, 255 ); - sock = socket( PF_UNIX, SOCK_STREAM, 0 ); - if( sock < 0 ) - { - perror( "socket" ); - return -1; - } - int opt = fcntl( sock, F_GETFL ); - if( opt < 0 ) - { - perror( "fcntl" ); - close( sock ); - return -1; - } - if( fcntl( sock, F_SETFL, opt | O_NONBLOCK ) < 0 ) - { - perror( "nonblock" ); - close( sock ); - return -1; - } - unlink( sock_file ); - addr.sun_family = AF_UNIX; - strcpy( addr.sun_path, sock_file ); - if( bind( sock, ( struct sockaddr* ) &addr, sizeof( addr )) < 0 ) - { - perror( "bind" ); - close( sock ); - return -1; - } - if( chmod( sock_file, 0600 ) != 0 ) - { - perror( "chmod" ); - close( sock ); - return -1; - } - if( listen( sock, SOMAXCONN ) < 0 ) - { - perror( "listen" ); - close( sock ); - return -1; - } - return sock; - } - -int dapi_socket( DapiConnection* conn ) - { - return conn->sock; - } - -static int writeSocket( DapiConnection* conn, const void* data, int size ) - { - int written = 0; - for(;;) - { - int len = write( conn->sock, ( const char* ) data + written, size - written ); - if( len < 0 && errno != EINTR && errno != EAGAIN ) - return -1; - if( len > 0 ) - written += len; - if( written == size ) - return 1; - } - } - -static int readSocket( DapiConnection* conn, void* data, int size ) - { - int rd = 0; - for(;;) - { - int len = read( conn->sock, ( char* ) data + rd, size - rd ); - if( len < 0 && errno != EINTR && errno != EAGAIN ) - return -1; - if( len == 0 ) - return 0; - if( len > 0 ) - rd += len; - if( rd == size ) - return 1; - } - } - -DapiConnection* dapi_acceptSocket( int sock ) - { - struct sockaddr_un addr; - DapiConnection* ret = NULL; - socklen_t addr_len = sizeof( addr ); - int sock2 = accept( sock, ( struct sockaddr* ) &addr, &addr_len ); - if( sock2 > 0 ) - { - ret = malloc( sizeof( DapiConnection )); - if( ret != NULL ) - { - ret->sock = sock2; - ret->generic_callback = dapi_genericCallback; - ret->in_server = 1; - ret->last_seq = 0; - ret->callbacks = NULL; - } - else - close( sock2 ); - } - return ret; - } - -void dapi_close( DapiConnection* conn ) - { - close( conn->sock ); - } - -int dapi_hasData( DapiConnection* conn ) - { - fd_set fd; - struct timeval tm = { 0, 0 }; - FD_ZERO( &fd ); - FD_SET( conn->sock, &fd ); - if( select( conn->sock + 1, &fd, NULL, NULL, &tm ) > 0 ) - return FD_ISSET( conn->sock, &fd ); - return 0; - } - -static int getNextSeq( DapiConnection* conn ) - { - if( ++conn->last_seq == 0 ) // 0 means invalid - ++conn->last_seq; - return conn->last_seq; - } - -static char* readString( DapiConnection* conn ) - { - int len; - if( readSocket( conn, &len, sizeof( len )) <= 0 ) - return NULL; - char* ret = malloc( len + 1 ); - if( ret == NULL ) - return NULL; - if( len > 0 ) - { - if( readSocket( conn, ret, len ) <= 0 ) - { - free( ret ); - return NULL; - } - } - ret[ len ] = '\0'; - return ret; - } - -static void writeString( DapiConnection* conn, const char* str ) - { - int len = ( str == NULL ? 0 : strlen( str )); - writeSocket( conn, &len, sizeof( len )); - if( len > 0 ) - writeSocket( conn, str, len ); - } - -int dapi_readCommand( DapiConnection* conn, int* comm, int* seq ) - { - int magic; - /* TODO kontrola failure */ - readSocket( conn, &magic, sizeof( magic )); - readSocket( conn, comm, sizeof( *comm )); - readSocket( conn, seq, sizeof( *seq )); - if( magic != MAGIC ) - return 0; - return 1; - } - -static void writeCommand( DapiConnection* conn, int comm, int seq ) - { - int magic = MAGIC; - writeSocket( conn, &magic, sizeof( magic )); - writeSocket( conn, &comm, sizeof( comm )); - writeSocket( conn, &seq, sizeof( seq )); - } - -/* TODO generovat? */ -static intarr readintarr( DapiConnection* conn ) - { - intarr ret; - int i; - readSocket( conn, &ret.count, sizeof( ret.count )); - if( ret.count == 0 ) - return ret; - ret.data = malloc( ret.count * sizeof( int )); - if( ret.data == NULL ) - return ret; /* TODO ? */ - for( i = 0; - i < ret.count; - ++i ) - readSocket( conn, &ret.data[ i ], sizeof( ret.data[ i ] )); - return ret; - } - -static stringarr readstringarr( DapiConnection* conn ) - { - stringarr ret; - int i; - readSocket( conn, &ret.count, sizeof( ret.count )); - if( ret.count == 0 ) - return ret; - ret.data = malloc( ret.count * sizeof( char* )); - if( ret.data == NULL ) - return ret; /* TODO ? */ - for( i = 0; - i < ret.count; - ++i ) - ret.data[ i ] = readString( conn ); - return ret; - } - -static DapiWindowInfo readWindowInfo( DapiConnection* conn ) - { - DapiWindowInfo ret; - readSocket( conn, &ret.flags, sizeof( ret.flags )); - if( ret.flags == 0 ) - return ret; - readSocket( conn, &ret.window, sizeof( ret.window )); - return ret; - } - -static void writeintarr( DapiConnection* conn, intarr arr ) - { - int i; - writeSocket( conn, &arr.count, sizeof( arr.count )); - for( i = 0; - i < arr.count; - ++i ) - writeSocket( conn, &arr.data[ i ], sizeof( arr.data[ i ] )); - } - -static void writestringarr( DapiConnection* conn, stringarr arr ) - { - int i; - writeSocket( conn, &arr.count, sizeof( arr.count )); - for( i = 0; - i < arr.count; - ++i ) - writeString( conn, arr.data[ i ] ); - } - -static void writeWindowInfo( DapiConnection* conn, DapiWindowInfo winfo ) - { - writeSocket( conn, &winfo.flags, sizeof( winfo.flags )); - writeSocket( conn, &winfo.window, sizeof( winfo.window )); - } - -void dapi_freeintarr( intarr arr ) - { - free( arr.data ); - } - -void dapi_freestringarr( stringarr arr ) - { - int i; - for( i = 0; - i < arr.count; - ++i ) - free( arr.data[ i ] ); - free( arr.data ); - } - -void dapi_freeWindowInfo( DapiWindowInfo winfo ) - { - ( void ) winfo; /* nothing for now */ - } - -void dapi_windowInfoInitWindow( DapiWindowInfo* winfo, long window ) - { - winfo->flags = 1; - winfo->window = window; - } - -DapiConnection* dapi_connectAndInit() - { - DapiConnection* conn = dapi_connect(); - if( conn == NULL ) - return NULL; - if( !dapi_Init( conn )) - { - dapi_close( conn ); - return NULL; - } - return conn; - } - -#include <dapi/comm_generated.c> diff --git a/lib/comm.h b/lib/comm.h deleted file mode 100644 index c1543e5..0000000 --- a/lib/comm.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef DAPI_COMM_H -#define DAPI_COMM_H - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct DapiConnection DapiConnection; - -DapiConnection* dapi_connect( void ); -void dapi_close( DapiConnection* conn ); -int dapi_socket( DapiConnection* conn ); - -DapiConnection* dapi_connectAndInit( void ); - -int dapi_bindSocket( void ); -DapiConnection* dapi_acceptSocket( int sock ); - -typedef struct DapiWindowInfo - { - int flags; - long window; - } DapiWindowInfo; - -/* TODO generovat? */ -typedef struct - { - int count; - int* data; - } intarr; - -typedef struct - { - int count; - char** data; - } stringarr; - -void dapi_windowInfoInitWindow( DapiWindowInfo* winfo, long window ); - -void dapi_freeWindowInfo( DapiWindowInfo winfo ); -void dapi_freestringarr( stringarr arr ); -void dapi_freeintarr( intarr arr ); - -#include <dapi/comm_generated.h> - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/lib/comm_internal.h b/lib/comm_internal.h deleted file mode 100644 index 7a141d0..0000000 --- a/lib/comm_internal.h +++ /dev/null @@ -1,25 +0,0 @@ -enum { MAGIC = 0x152355 }; - -#include <dapi/comm_internal_generated.h> - -#include "calls.h" -#include "callbacks.h" - -typedef struct DapiCallbackData - { - struct DapiCallbackData* next; - int seq; - int command; - void* callback; - } DapiCallbackData; - -struct DapiConnection - { - int sock; - DapiGenericCallback generic_callback; - int in_server; - int last_seq; - DapiCallbackData* callbacks; - }; - -int dapi_hasData( DapiConnection* conn ); diff --git a/tests/.cvsignore b/tests/.cvsignore deleted file mode 100644 index f7b5724..0000000 --- a/tests/.cvsignore +++ /dev/null @@ -1,14 +0,0 @@ -.deps -.libs -Makefile -Makefile.in -test_async -test_calls -test_comm -test_mailto -test_remotefile -test_runasuser -test_screensaving -test_capabilities -test_callbacks -test_fallback diff --git a/tests/Makefile.am b/tests/Makefile.am deleted file mode 100644 index f894e18..0000000 --- a/tests/Makefile.am +++ /dev/null @@ -1,44 +0,0 @@ -noinst_PROGRAMS = test_comm test_calls test_runasuser test_screensaving test_mailto test_remotefile test_async \ - test_capabilities test_callbacks test_addressbook - -test_comm_SOURCES = test_comm.c -test_comm_LDADD = ../lib/libdapi.la -test_comm_LDFLAGS = $(all_libraries) - -test_calls_SOURCES = test_calls.c -test_calls_LDADD = ../lib/libdapi.la -test_calls_LDFLAGS = $(all_libraries) - -test_runasuser_SOURCES = test_runasuser.c -test_runasuser_LDADD = ../lib/libdapi.la -test_runasuser_LDFLAGS = $(all_libraries) - -test_screensaving_SOURCES = test_screensaving.c -test_screensaving_LDADD = ../lib/libdapi.la -test_screensaving_LDFLAGS = $(all_libraries) - -test_mailto_SOURCES = test_mailto.c -test_mailto_LDADD = ../lib/libdapi.la -test_mailto_LDFLAGS = $(all_libraries) - -test_remotefile_SOURCES = test_remotefile.c -test_remotefile_LDADD = ../lib/libdapi.la -test_remotefile_LDFLAGS = $(all_libraries) - -test_async_SOURCES = test_async.c -test_async_LDADD = ../lib/libdapi.la -test_async_LDFLAGS = $(all_libraries) - -test_capabilities_SOURCES = test_capabilities.c -test_capabilities_LDADD = ../lib/libdapi.la -test_capabilities_LDFLAGS = $(all_libraries) - -test_callbacks_SOURCES = test_callbacks.c -test_callbacks_LDADD = ../lib/libdapi.la -test_callbacks_LDFLAGS = $(all_libraries) - -test_addressbook_SOURCES = test_addressbook.c -test_addressbook_LDADD = ../lib/libdapi.la -test_addressbook_LDFLAGS = $(all_libraries) - -INCLUDES = -I$(top_builddir)/include $(all_includes) diff --git a/tests/test_addressbook.c b/tests/test_addressbook.c deleted file mode 100644 index 5b7f192..0000000 --- a/tests/test_addressbook.c +++ /dev/null @@ -1,150 +0,0 @@ -/****************************************************************************** - Copyright 2006, Kevin Krammer <kevin.krammer@gmx.at> - All Rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include <stdio.h> -#include <stdlib.h> - -#include <dapi/comm.h> -#include <dapi/calls.h> - -void printContact( DapiConnection* conn, int num, char* id ); -void printVCard( DapiConnection* conn, char* id ); - -int main(int argc, char** argv) - { - DapiConnection* conn = dapi_connectAndInit(); - if( conn == NULL ) - { - fprintf( stderr, "Cannot connect!\n" ); - return 1; - } - - char* ownerID = NULL; - if( dapi_AddressBookOwner( conn, &ownerID ) ) - { - printf( "AddressBookOwner: contact for current user available:\n" ); - printContact( conn, 0, ownerID ); - free( ownerID ); - } - else - printf( "AddressBookOwner: no contact for the current user\n" ); - printf("\n"); - - stringarr idlist; - if( dapi_AddressBookList( conn, &idlist ) ) - printf( "AddressBookList: %d contact IDs\n", idlist.count ); - else - printf( "AddressBookList: call failed\n" ); - - int i; - for( i = 0; i < idlist.count; ++i ) - printContact( conn, i, idlist.data[i] ); - dapi_freestringarr( idlist ); - - if( argc <= 1 ) - printf( "\nNo commandline args, skipping FindByName\n" ); - else - { - for( i = 1; i < argc; ++i ) - { - printf( "\nSearching for '%s'\n", argv[i] ); - - stringarr foundlist; - if( dapi_AddressBookFindByName( conn, argv[i], &foundlist ) ) - { - if ( foundlist.count > 0 ) - { - printf( "Found %d matches\n", foundlist.count ); - - int j; - for ( j = 0; j < foundlist.count; ++j ) - { - printContact( conn, j, foundlist.data[j] ); - printVCard( conn, foundlist.data[j] ); - } - dapi_freestringarr( foundlist ); - } - else - printf( "No matches in addressbook\n" ); - } - else - printf( "AddressBoolFindByName: call failed\n" ); - } - } - - dapi_close( conn ); - - return 0; - } - -void printContact( DapiConnection* conn, int num, char* id ) - { - char* givenname; - char* familyname; - char* fullname; - - if( dapi_AddressBookGetName( conn, id, &givenname, &familyname, &fullname ) ) - { - printf( "Contact %d: '%s', %s', '%s'\n", - num, givenname, familyname, fullname ); - - free( givenname ); - free( familyname ); - free( fullname ); - } - else - printf( "AddressBookGetName: call failed\n" ); - - stringarr emaillist; - if( dapi_AddressBookGetEmails( conn, id, &emaillist ) ) - { - if( emaillist.count > 0 ) - { - int j; - for( j = 0; j < emaillist.count; ++j ) - { - printf( "\temail %d: '%s'\n", j, emaillist.data[j] ); - } - dapi_freestringarr( emaillist ); - } - else - printf( "\tNo emails\n" ); - } - else - printf( "AddressBookGetEmails: call failed\n" ); - } - -void printVCard( DapiConnection* conn, char* id ) - { - char* vcard; - if( dapi_AddressBookGetVCard30( conn, id, &vcard ) ) - { - printf("\n%s\n", vcard); - free( vcard ); - } - else - printf( "AddressBookGetVCard30: call failed" ); - } diff --git a/tests/test_async.c b/tests/test_async.c deleted file mode 100644 index 8828eb9..0000000 --- a/tests/test_async.c +++ /dev/null @@ -1,53 +0,0 @@ -#include <stdio.h> - -#include <dapi/comm.h> -#include <dapi/calls.h> -#include <dapi/callbacks.h> - -static int seq1; - -static void callback( DapiConnection* conn, int comm, int seq ) - { - if( comm != DAPI_REPLY_BUTTONORDER - || seq != seq1 ) - { - fprintf( stderr, "Unexpected async reply, ignoring.\n" ); - } - else - { - int ord; - if( !dapi_readReplyButtonOrder( conn, &ord )) - { - fprintf( stderr, "Failed to read async reply!\n" ); - } - else - { - printf( "Order async: %d (%s)\n", ord, ord == 0 ? "Failed" : ord == 1 ? "Ok/Cancel" : "Cancel/Ok" ); - } - } - } - -int main() - { - int ord; - DapiConnection* conn = dapi_connect(); - if( conn == NULL ) - { - fprintf( stderr, "Cannot connect!\n" ); - return 1; - } - dapi_setGenericCallback( conn, callback ); - if( !dapi_Init( conn )) - { - fprintf( stderr, "Initialization failed!\n" ); - return 2; - } - /* first write a command request without waiting for a reply, this - means that the following blocking dapi_ButtonOrder() call will first need to process - an async answer */ - seq1 = dapi_writeCommandButtonOrder( conn ); - ord = dapi_ButtonOrder( conn ); - printf( "Order: %d (%s)\n", ord, ord == 0 ? "Failed" : ord == 1 ? "Ok/Cancel" : "Cancel/Ok" ); - dapi_close( conn ); - return 0; - } diff --git a/tests/test_callbacks.c b/tests/test_callbacks.c deleted file mode 100644 index 6f4cd40..0000000 --- a/tests/test_callbacks.c +++ /dev/null @@ -1,30 +0,0 @@ -#include <stdio.h> -#include <unistd.h> - -#include <dapi/comm.h> -#include <dapi/calls.h> -#include <dapi/callbacks.h> - -static void callback( DapiConnection* conn, int seq, int ord ) - { - printf( "Order async: %d %d (%s)\n", seq, ord, ord == 0 ? "Failed" : ord == 1 ? "Ok/Cancel" : "Cancel/Ok" ); - } - -int main() - { - int seq; - DapiConnection* conn = dapi_connectAndInit(); - if( conn == NULL ) - { - fprintf( stderr, "Cannot connect!\n" ); - return 1; - } - seq = dapi_callbackButtonOrder( conn, callback ); - printf( "Order call1: %d\n", seq ); - seq = dapi_callbackButtonOrder( conn, callback ); - printf( "Order call2: %d\n", seq ); - sleep( 1 ); /* give time to process */ - dapi_processData( conn ); - dapi_close( conn ); - return 0; - } diff --git a/tests/test_calls.c b/tests/test_calls.c deleted file mode 100644 index b53fcd6..0000000 --- a/tests/test_calls.c +++ /dev/null @@ -1,19 +0,0 @@ -#include <stdio.h> - -#include <dapi/comm.h> -#include <dapi/calls.h> - -int main() - { - int ord; - DapiConnection* conn = dapi_connectAndInit(); - if( conn == NULL ) - { - fprintf( stderr, "Cannot connect!\n" ); - return 1; - } - ord = dapi_ButtonOrder( conn ); - printf( "Order: %d (%s)\n", ord, ord == 0 ? "Failed" : ord == 1 ? "Ok/Cancel" : "Cancel/Ok" ); - dapi_close( conn ); - return 0; - } diff --git a/tests/test_capabilities.c b/tests/test_capabilities.c deleted file mode 100644 index 7d12955..0000000 --- a/tests/test_capabilities.c +++ /dev/null @@ -1,35 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -#include <dapi/comm.h> -#include <dapi/calls.h> - -int main() - { - intarr capabilities; - int i; - DapiConnection* conn = dapi_connectAndInit(); - if( conn == NULL ) - { - fprintf( stderr, "Cannot connect!\n" ); - return 1; - } - if( dapi_Capabilities( conn, &capabilities )) - { - int has_mailto = 0; - printf( "Capabilities:" ); - for( i = 0; - i < capabilities.count; - ++i ) - { - printf( " %d", capabilities.data[ i ] ); - if( capabilities.data[ i ] == DAPI_COMMAND_MAILTO ) - has_mailto = 1; - } - printf( "\nHas mailto: %d\n", has_mailto ); - } - else - fprintf( stderr, "Capabilities call failed!\n" ); - dapi_close( conn ); - return 0; - } diff --git a/tests/test_comm.c b/tests/test_comm.c deleted file mode 100644 index 15fcab0..0000000 --- a/tests/test_comm.c +++ /dev/null @@ -1,48 +0,0 @@ -#include <stdio.h> - -#include <dapi/comm.h> - -int main( int argc, char* argv[] ) - { - int command, seq, seq2; - int ok; - DapiWindowInfo winfo; - DapiConnection* conn = dapi_connect(); - if( conn == NULL ) - { - fprintf( stderr, "Cannot connect!\n" ); - return 1; - } - seq = dapi_writeCommandInit( conn ); - if( !dapi_readCommand( conn, &command, &seq2 ) || seq != seq2 ) - { - fprintf( stderr, "Incorrect init reply!\n" ); - return 2; - } - if( !dapi_readReplyInit( conn, &ok )) - { - fprintf( stderr, "Incorrect init reply data!\n" ); - return 2; - } - if( !ok ) - { - fprintf( stderr, "Initialization failed!\n" ); - return 2; - } - dapi_windowInfoInitWindow( &winfo, 0 ); /* no mainwindow */ - seq = dapi_writeCommandOpenUrl( conn, "http://kde.org", winfo ); - if( !dapi_readCommand( conn, &command, &seq2 ) || seq != seq2 ) - { - fprintf( stderr, "Incorrect open url reply!\n" ); - return 2; - } - dapi_freeWindowInfo( winfo ); - if( !dapi_readReplyOpenUrl( conn, &ok )) - { - fprintf( stderr, "Incorrect open url reply data!\n" ); - return 2; - } - printf( "Result: %s\n", ok ? "Ok" : "failed" ); - dapi_close( conn ); - return 0; - } diff --git a/tests/test_mailto.c b/tests/test_mailto.c deleted file mode 100644 index 3c54e27..0000000 --- a/tests/test_mailto.c +++ /dev/null @@ -1,28 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -#include <dapi/comm.h> -#include <dapi/calls.h> - -int main() - { - int ok; - stringarr attachments; - char* attachments_data[] = { "/tmp/mailtotest.txt" }; - DapiConnection* conn = dapi_connectAndInit(); - if( conn == NULL ) - { - fprintf( stderr, "Cannot connect!\n" ); - return 1; - } - if(system( "touch /tmp/mailtotest.txt" )) - return perror("system()"), 1; - attachments.count = 1; - attachments.data = attachments_data; - ok = dapi_MailTo_Window( conn, "Test mail", "Hi,\n\nthis is a test mail.\n", - "l.lunak@suse.cz, l.lunak@kde.org", NULL, "portland@lists.freedesktop.org", attachments, - 0 ); /* no mainwindow */ - printf( "Result: %s\n", ok == 1 ? "Ok" : "Failed" ); - dapi_close( conn ); - return 0; - } diff --git a/tests/test_remotefile.c b/tests/test_remotefile.c deleted file mode 100644 index 303e32b..0000000 --- a/tests/test_remotefile.c +++ /dev/null @@ -1,46 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include <dapi/comm.h> -#include <dapi/calls.h> - -int main() - { - char* local; - int ok; - DapiConnection* conn = dapi_connectAndInit(); - if( conn == NULL ) - { - fprintf( stderr, "Cannot connect!\n" ); - return 1; - } - local = dapi_LocalFile_Window( conn, "http://kde.org", "", 0, 0 ); /* no download, should fail */ - printf( "Local file1: %s - %s\n", local ? local : "?", local ? "Failed" : "Ok" ); - if( local ) - free( local ); - local = dapi_LocalFile_Window( conn, "http://kde.org", "", 1, 0 ); - printf( "Local file2: %s\n", local != NULL ? local : "Failed" ); - if( local != NULL ) - { - ok = dapi_UploadFile_Window( conn, local, "http://kde.org", 0, 0 ); /* will fail */ - printf( "Upload2: %s\n", ok ? "Ok - ???" : "Failed - ok" ); - ok = dapi_RemoveTemporaryLocalFile( conn, local ); - printf( "Temporary2: %s\n", ok ? "Ok" : "Failed" ); - free( local ); - } - if(system( "touch /tmp/remotefiletest.txt" )) - return perror("system()"), 1; - /* local temporary will be ignored */ - local = dapi_LocalFile_Window( conn, "file:///tmp/remotefiletest.txt", "/tmp/remotefiletest2.txt", 1, 0 ); - printf( "Local file3: %s\n", local != NULL ? local : "Failed" ); - if( local != NULL ) - { - /* should be a no-op, as it's the same file */ - ok = dapi_UploadFile_Window( conn, local, "file:///tmp/remotefiletest.txt", 1, 0 ); - printf( "Upload3: %s\n", ok ? "Ok" : "Failed" ); - free( local ); - } - dapi_close( conn ); - return 0; - } diff --git a/tests/test_runasuser.c b/tests/test_runasuser.c deleted file mode 100644 index 5fe4f1a..0000000 --- a/tests/test_runasuser.c +++ /dev/null @@ -1,19 +0,0 @@ -#include <stdio.h> - -#include <dapi/comm.h> -#include <dapi/calls.h> - -int main() - { - int ok; - DapiConnection* conn = dapi_connectAndInit(); - if( conn == NULL ) - { - fprintf( stderr, "Cannot connect!\n" ); - return 1; - } - ok = dapi_RunAsUser_Window( conn, "", "xterm -title test", 0 ); /* no mainwindow */ - printf( "Result: %s\n", ok == 1 ? "Ok" : "Failed" ); - dapi_close( conn ); - return 0; - } diff --git a/tests/test_screensaving.c b/tests/test_screensaving.c deleted file mode 100644 index 2224eeb..0000000 --- a/tests/test_screensaving.c +++ /dev/null @@ -1,23 +0,0 @@ -#include <stdio.h> -#include <unistd.h> - -#include <dapi/comm.h> -#include <dapi/calls.h> - -int main() - { - int ok; - DapiConnection* conn = dapi_connectAndInit(); - if( conn == NULL ) - { - fprintf( stderr, "Cannot connect!\n" ); - return 1; - } - ok = dapi_SuspendScreensaving( conn, 1 ); - printf( "Result1: %s\n", ok == 1 ? "Ok" : "Failed" ); - sleep( 10 ); - ok = dapi_SuspendScreensaving( conn, 0 ); - printf( "Result2: %s\n", ok == 1 ? "Ok" : "Failed" ); - dapi_close( conn ); - return 0; - } |